mardi 8 décembre 2020

mocha / chai testing problem with restify

I want to implement testing on a running restify backend (currently working with a nuxt front). The server start part is:

server.listen(config.PORT, () => {
  mongoose.connect(config.MONGODB_URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true,
  });

  const db = mongoose.connection;

  db.on('error', (err) => logger.error(err));

  db.once('open', () => {
    require('./routes/oneclickproducts')(server);
    require('./routes/users')(server);
    logger.info(`Server started on port ${config.PORT}`);
  });
});

I wrote a test using chai (test/user.js)

process.env.NODE_ENV = 'test';

let User = require('../models/User');

let chai = require('chai');
let chaiHttp = require('chai-http');
let server = require('../index');
let should = chai.should();

chai.use(chaiHttp);

describe('Users', () => {
    beforeEach((done) => {
        User.remove({}, (err) => {
            done();
        });
    });

describe('/GET users', () => {
    beforeEach((done) => {
        chai
            .request(server)
            .get('/users')
            .end((err, res) => {
                res.should.have.status(200);
                res.body.should.be.a('array');
                res.body.should.be.eql(0);
                done();
            });
        });
    });
});

But when I run it I get:

enter image description here

And it actually doesn't delete the users. Any hints?

Aucun commentaire:

Enregistrer un commentaire