Body 필드
await request(app.getHttpServer())
.post(ApiPath.uploadSingleCancel)
.send({
fileName: DummyFile.name,
uploadToken,
})
.expect(201);
});
- send에 딕셔너리 형태로 전달하면 된다.
- 파일이 첨부되어 attach를 쓸 경우 field를 사용해서 오브젝트를 전달하면 된다.
File upload 테스트 참고
File upload 테스트
it('/file/upload/single/chunk', async () => {
const filePath = path.resolve(__dirname, `./dummy-file.txt`);
return request(app.getHttpServer())
.post('/file/upload/single/chunk')
.attach('file', filePath, {
filename: `dummy-file.txt`,
})
.field({
fileName: `dummy-file.txt`,
chunkTotalNum: 1,
chunkNum: 0,
})
.expect(201);
});
field
부분이 body에 들어간다.
- send를 사용할 수 없기 떄문에 위와같이 씀
File Download 테스트 (stream)
it.only('/file/download', async () => {
...
await reqDownload()
.expect(200)
.buffer() // <---- check
.then(({ header, body }) => {
expect(header['content-type']).toBe(String('application/octet-stream'));
expect(header['content-length']).toBe(String(DummyFile.fileSize));
expect(body).toBeDefined();
expect((body as Buffer).length).toBeGreaterThan(0);
});
});
- 중간에
buffer
를 호출해주면 body에 스트림 버퍼가 들어감