Я пытаюсь написать тест для распознавателя графических изображений для загрузки и не могу найти ни одного примера того, как это сделать правильно. Я использую библиотеку 'graphql-upload', но каждый раз, когда я пытаюсь отправить файл из теста, используя fs.createReadStream (path_to_test_file) и пытаюсь отправить его через супертест в резольвере, createReadStream всегда пуст. test
const file = fs.createReadStream(Path.join(__dirname, '/logo.png'));
await request(app.getHttpServer())
.post('/graphql')
.set({ Authorization: `Bearer ${token}` })
.send({
operationName: null,
query: `
mutation($profileImage: Upload!) {
uploadProfileImage(profileImage: $profileImage) {
filename
path
}
}
`,
variables: {
profileImage: file
}
})
.expect(({ body }) => {
console.log(body);
})
.expect(200);
resolver
async uploadProfileImage(
@Args({ name: 'profileImage', type: () => GraphQLUpload }) profileImage
): Promise<any> {
const { filename, createReadStream } = profileImage;
await new Promise(async (resolve, reject) =>
createReadStream() ----> ALWAYS EMPTY
.pipe(createWriteStream(Path.join(__dirname, `/uploads/${filename}`)))
.on('finish', data => {
console.log('here', data);
resolve(true);
})
.on('error', error => {
console.error(error);
reject(false);
})
);
return ;
}
Я что-то упустил? Можно ли даже проверить загрузку файла graphql с помощью супертеста? Некоторая помощь была бы потрясающей !! Спасибо всем