Czytaj bufor wyjściowy / strumień odpowiedzi z supertest / superagent na serwerze node.js
Próbuję napisać test, który sprawdza, czy trasa API wyprowadza plik ZIP z poprawną zawartością.
Używam mocha i supertest do testowania i chciałbym odczytać strumień wyjściowy / bufor, przeczytać zawartość pliku zip i sprawdzić, czy zawartość jest poprawna.
Jakieś pomysły, jak mam to zrobić? Kiedy próbuję czytaćres.body
, to tylko pusty obiekt.
request(app)
.get( "/api/v1/orders/download?id[]=1&id=2" )
.set( "Authorization", authData )
.expect( 200 )
.expect( 'Content-Type', /application\/zip/ )
.end( function (err, res) {
if (err) return done( err );
console.log( 'body:', res.body )
// Write the temp HTML file to filesystem using utf-8 encoding
var zip = new AdmZip( res.body );
var zipEntries = zip.getEntries();
console.log( 'zipentries:', zipEntries );
zipEntries.forEach(function(zipEntry) {
console.log(zipEntry.toString()); // outputs zip entries information
});
done();
});