%PDF-
%PDF-
Mini Shell
Mini Shell
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();
// });
// });
// });
// });
});
Zerion Mini Shell 1.0