System Information
- Strapi Version: 3.4.6
- Operating System: Linux Ubuntu 20.04 WSL
- Database: SQLite
- Node Version: 10
- NPM Version: 6
- Yarn Version: non used
Hello,
I have a issue when i try to test a multipart endpoint. I got error “Aborted”.
Here is my test :
it("[UPDATE] GIVEN multipart request it should update a book and return it", async done => {
const books = await find("book", { name: "testbook" });
const book = books[0];
const dotPathfile = path.resolve(__dirname, '../testUtils/dot.jpg');
await request(strapi.server)
.put("/books/" + book.id)
.field("data", JSON.stringify({ name: "coucou multipart" }))
.attach("files.logo", dotPathfile)
.set("Authorization", "Bearer " + userInfo.jwt)
.expect(200)
.then((data) => {
expect(data.body.name).toBe("coucou multipart");
});
done();
});
Here is my endpoint :
async update(ctx) {
try {
const { id } = getParamsFromContext(ctx);
let book = await bookHelper.findOwnedById(id, getTeamIdFromUser(ctx.state.user));
if (!book) {
return ctx.notFound();
}
if (isMultipart(ctx)) {
const { data, files } = parseMultipartData(ctx);
book = await bookHelper.update(id, data, files);
} else {
book = await bookHelper.update(id, ctx.request.body);
}
return bookHelper.sanitize(book);
} catch (e) {
throw e;
}
}
Here is my error :
Aborted
at Test.<anonymous> (node_modules/superagent/src/request-base.js:304:21)
at Test.abort (node_modules/superagent/src/request-base.js:510:8)
at FormData.<anonymous> (node_modules/superagent/src/node/index.js:281:12)
at FormData.Object.<anonymous>.CombinedStream._emitError (node_modules/combined-stream/lib/combined_stream.js:207:8)
at DelayedStream.<anonymous> (node_modules/combined-stream/lib/combined_stream.js:133:10)
at DelayedStream.<anonymous> (node_modules/delayed-stream/lib/delayed_stream.js:69:15)
at Array.forEach (<anonymous>)
at DelayedStream.Object.<anonymous>.DelayedStream.release (node_modules/delayed-stream/lib/delayed_stream.js:68:24)
at DelayedStream.Object.<anonymous>.DelayedStream.resume (node_modules/delayed-stream/lib/delayed_stream.js:55:10)
at DelayedStream.Object.<anonymous>.DelayedStream.pipe (node_modules/delayed-stream/lib/delayed_stream.js:76:8)
at FormData.Object.<anonymous>.CombinedStream._pipeNext (node_modules/combined-stream/lib/combined_stream.js:121:12)
at FormData.Object.<anonymous>.CombinedStream._realGetNext (node_modules/combined-stream/lib/combined_stream.js:99:10)
at FormData.Object.<anonymous>.CombinedStream._getNext (node_modules/combined-stream/lib/combined_stream.js:82:12)
I don’t know why my test failed and how can i catch the error more precisly.
Thank.