Lese Antwort-Ausgabepuffer / Stream mit supertest / superagent auf node.js Server

Ich versuche, einen Test zu schreiben, der prüft, ob eine API-Route eine ZIP-Datei mit dem richtigen Inhalt ausgibt.

Ich benutze Mokka und Supertest zum Testen und möchte den Ausgabestream / Puffer tatsächlich lesen, den Inhalt der ZIP-Datei lesen und prüfen, ob der Inhalt korrekt ist.

Irgendwelche Ideen, wie soll ich das machen? Wenn ich versuche zu lesenres.bodyEs ist nur ein leeres Objekt.

  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();
    });

Antworten auf die Frage(3)

Ihre Antwort auf die Frage