%PDF- %PDF-
Direktori : /home/opti/workflow/src/test/ |
Current File : /home/opti/workflow/src/test/user_test.js |
var mongoose = require('mongoose'); var User = require('../models/user'); var faker = require('faker'); var chai = require('chai'); var chaiHttp = require('chai-http'); var app = require('../bin/www'); var baseuri = "http://localhost:3000"; var expect = chai.expect; var assert = chai.assert; var should = chai.should(); chai.use(chaiHttp); User.collection.drop(); describe('User', function(){ it('should create new User on /register POST', function(done) { chai.request(baseuri) .post('/register') .send({ firstName: faker.name.firstName(), lastName: faker.name.lastName(), phone: faker.phone.phoneNumber(), email: 'example@example.com', password: 'secret' }) .end(function(err, res){ res.should.have.status(200); res.should.be.json; res.body.should.be.a('object'); done(); }); }); it('should login User on /login POST', function(done) { chai.request(baseuri) .post('/login') .send({ email: 'example@example.com', password: 'secret' }) .end(function(err, res){ res.should.have.status(200); res.should.be.json; res.body.should.be.a('object'); done(); }); }); it('should list ALL users on /users GET', function(done) { chai.request(baseuri) .post('/login') .send({ email: 'example@example.com', password: 'secret' }) .end(function(err, res){ chai.request(baseuri) .get('/users') .set({'Authorization': res.body.token}) .end(function(err, res) { res.should.have.status(200); res.should.be.json; res.body.should.be.a('array'); done(); }); }); }); it('should show SINGLE user on /users/<id> GET', function(done){ chai.request(baseuri) .post('/login') .send({ email: 'example@example.com', password: 'secret' }) .end(function(err, res1){ chai.request(baseuri) .get('/users') .set({'Authorization': res1.body.token}) .end(function(err, res) { chai.request(baseuri) .get('/users/' + res.body[0]._id) .set({'Authorization': res1.body.token}) .end(function(err, response){ response.should.have.status(200); response.should.be.json; response.body.should.be.an('object'); done(); }); }); }); }); it('should update SINGLE user on /users/<id> PUT', function(done){ chai.request(baseuri) .post('/login') .send({ email: 'example@example.com', password: 'secret' }) .end(function(err, res1){ chai.request(baseuri) .get('/users') .set({'Authorization': res1.body.token}) .end(function(err, res) { chai.request(baseuri) .put('/users/' + res.body[0]._id) .send({firstName: "Super"}) .set({'Authorization': res1.body.token}) .end(function(err, response){ response.should.have.status(200); response.should.be.json; response.body.should.be.an('object'); done(); }); }); }); }); // it('should delete SINGLE user on /users/<id> DELETE', function(done){ // chai.request(baseuri) // .post('/login') // .send({ // email: 'example@example.com', // password: 'secret' }) // .end(function(err, res1){ // chai.request(baseuri) // .get('/users') // .set({'Authorization': res1.body.token}) // .end(function(err, res) { // chai.request(baseuri) // .get('/users/' + res.body[0]._id) // .set({'Authorization': res1.body.token}) // .end(function(err, response){ // response.should.have.status(200); // response.should.be.json; // response.body.should.be.an('object'); // done(); // }); // }); // }); // }); });