1
resposta

Unit test com Mocha - Streaming de dados

Oi pessoal tudo certo?

To fazendo o curso e para fazer o teste das chamadas ao invés de fazer uma curl eu optei por fazer unit teste com o Mocha, que já foi apresentado no curso anterior!

Até ai tudo bem, cobri todos os testes até agora, porém não estou conseguindo fazer o teste de Streaming de dados... :(

Ele chega a fazer o post e cria o arquivo mas não sei como validar o final do processo.

Alguém que tenha experiência com isso sabe me ajudar?

meu código de teste está assim ó:

const express = require('../config/express')();
const request = require('supertest')(express);
const fs = require('fs');

describe('#Upload Controller', () => {

  let image = '';
  beforeEach((done) => {
    image = 'test/MMs.jpg';
    done()
  });

  it('#Upload image', (done) => {
    request.post('/upload/photo')
      .set('Content-Type', 'application/octet-stream')
      .set('filename', 'new-foto.jpg')
      .write(fs.readFileSync(image), done)
  });

});

Aqui está meu repositório para se alguém quiser ver... https://github.com/nathpaiva/node-payfast

1 resposta

Olá, Nath. Tudo bom?

Quando estou enviando um anexo utilizo da seguinte forma:

const express = require('../config/express')();
const request = require('supertest')(express);
const fs = require('fs');

describe('#Upload Controller', () => {
  let image = '';
  beforeEach((done) => {
    image = 'test/MMs.jpg';
    done()
  });

  it('#Upload image', (done) => {
    request.post('/upload/photo')
      .set('Content-Type', 'application/octet-stream')
      .attach('filename', 'new-foto.jpg')
      .expect(fs.readFileSync(image), done)
  });

});

Nunca fiz um teste só de Streaming, mas tenta isso se não funcionar avisa que faço mais um teste, esse seria o meu primeiro chute :-)