Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. process.env.NODE_ENV = 'test';
  2.  
  3. let mongoose = require('mongoose');
  4. let Book = require('../models/book');
  5.  
  6.  
  7. // les dependencies pour le dev
  8. /*
  9. Avoir chai
  10. Avoir chai http
  11. Avoir should
  12. */
  13. chai = require('chai')
  14. chaiHttp = require('chai-http')
  15. server = require('../app')
  16. should = chai.should();
  17.  
  18. chai.use(chaiHttp);
  19.  
  20. describe('Books', () => {
  21.   beforeEach((done) => { // Avant chaque test tu vas vider la database
  22.     Book.remove({}, (err) => {
  23.       done()
  24.     })
  25.   })
  26.  
  27. describe('/GET book', () => {
  28.   it('should GET return all books', (done) => {
  29.     chai.request(server)
  30.       .get('/book')
  31.       .end((err, res) => {
  32.         res.should.have.status(200);
  33.         res.body.should.be.a('array');
  34.         res.body.length.should.be.eql(0);
  35.       done();
  36.       });
  37.     });
  38.   });
  39.  
  40.   describe('/POST book' , () => {
  41.     it('it should not POST a book without pages field', (done) => {
  42.       let book = {
  43.           title: "The Lord of the Rings",
  44.           author: "J.R.R. Tolkien",
  45.           year: 1954
  46.       }
  47.       chai.request(server)
  48.           .post('/book')
  49.           .send(book)
  50.           .end((err, res) => {
  51.               res.should.have.status(200);
  52.               res.body.should.be.a('object');
  53.               res.body.should.have.property('errors');
  54.               res.body.errors.should.have.property('pages');
  55.               res.body.errors.pages.should.have.property('kind').eql('required');
  56.             done();
  57.           });
  58.     });
  59.     it('should POST a book', (done) => {
  60.       let book = {
  61.         title: "The Lord of the Rings",
  62.         author: "J.R.R. Tolkien",
  63.         year: 1954,
  64.         pages: 1170
  65.     }
  66.     chai.request(server)
  67.       .post('/book')
  68.       .send(book)
  69.       .end((err, res) => {
  70.         res.should.have.status(200);
  71.         res.body.should.be.a('object');
  72.         res.body.should.have.property('message').eql('Book successfully added!');
  73.         res.body.book.should.have.property('title');
  74.         res.body.book.should.have.property('author');
  75.         res.body.book.should.have.property('pages');
  76.         res.body.book.should.have.property('year');
  77.         done();
  78.       })
  79.     })
  80.   })
  81.  
  82. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement