samedi 26 janvier 2019

I am trying to run my test script using mocha but there is an error of "Reference Error: beforeEach is not defined"

Mocha test Suite gives a reference error and it says "beforeEach is not defined"

I am trying to run my test script for my todo app in node.js using mocha. But there is a reference error and it says "beforeEach is not defined"

const {app} = require('./../server');
const {Todo} = require('./../models/todo');

beforeEach((done) => {
  Todo.remove({}).then(() => done());
});

describe('POST /todos', () => {
  it('should create a new todo', (done) => {
    var text = 'Test todo text';

request(app)
  .post('/todos')
  .send({text})
  .expect(200)
  .expect((res) => {
    expect(res.body.text).toBe(text);
  })
  .end((err, res) => {
    if (err) {
      return done(err);
    }

    Todo.find().then((todos) => {
      expect(todos.length).toBe(1);
      expect(todos[0].text).toBe(text);
      done();
        }).catch((e) => done(e));
      });
  });

  it('should not create todo with invalid body data', (done) => {
request(app)
  .post('/todos')
  .send({})
  .expect(400)
  .end((err, res) => {
    if (err) {
      return done(err);
    }

    Todo.find().then((todos) => {
      expect(todos.length).toBe(0);
      done();
    }).catch((e) => done(e));
  });
  });
});

Also, I have included all the necessary packages for my package.json file.

My Package.json file is given below

{
  "name": "todo-api",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
  "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm test' "
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bluebird": "^3.5.3",
    "body-parser": "^1.15.2",
    "express": "^4.14.0",
    "mongodb": "^2.2.5",
    "mongoose": "^4.5.9"
  },
  "devDependencies": {
    "expect": "^1.20.2",
    "mocha": "^3.0.2",
    "nodemon": "^1.10.2",
    "supertest": "^2.0.0"
  }
}

Aucun commentaire:

Enregistrer un commentaire