kokochef

server.test.js

Jun 23rd, 2018
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const expect = require('expect');
  2. const request = require('supertest');
  3.  
  4. const {app} = require('./../server');
  5. const {Todo} = require('./../models/todo');
  6.  
  7. beforeEach((done) => {
  8.   Todo.remove({}).then(() => done());
  9. });
  10.  
  11. describe('POST /todos', () => {
  12.   it('should create a new todo', (done) => {
  13.     var text = 'Test todo text';
  14.  
  15.     request(app)
  16.       .post('/todos')
  17.       .send({text})
  18.       .expect(200)
  19.       .expect((res) => {
  20.         expect(res.body.text).toBe(text);
  21.       })
  22.       .end((err, res) => {
  23.         if (err) {
  24.           return done(err);
  25.         }
  26.  
  27.         Todo.find().then((todos) => {
  28.           expect(todos.length).toBe(1);
  29.           expect(todos[0].text).toBe(text);
  30.           done();
  31.         }).catch((e) => done(e));
  32.       });
  33.   });
  34.  
  35.   it('should not create todo with invalid body data', (done) => {
  36.     request(app)
  37.       .post('/todos')
  38.       .send({})
  39.       .expect(400)
  40.       .end((err, res) => {
  41.         if (err) {
  42.           return done(err);
  43.         }
  44.  
  45.         Todo.find().then((todos) => {
  46.           expect(todos.length).toBe(0);
  47.           done();
  48.         }).catch((e) => done(e));
  49.       });
  50.   });
  51. });
Add Comment
Please, Sign In to add comment