freeCodeCamp/test/user_test.js

44 lines
964 B
JavaScript

var chai = require('chai');
var should = chai.should();
var User = require('../models/User');
describe('User attributes', function() {
before(function(done) {
user = new User({
email: 'janedoe@gmail.com',
password: 'password'
});
done();
});
it('email should be a string', function() {
user.email.should.be.a('string');
});
it('password should be a string', function() {
user.password.should.be.a('string');
});
it('should save a user', function(done) {
user.save();
done();
});
it('should find our newly created user', function(done) {
User.findOne({ email: user.email }, function(err, user) {
should.exist(user);
user.email.should.equal('janedoe@gmail.com');
done();
});
});
it('should not allow users with duplicate emails', function(done) {
user.save(function(err) {
if (err) {
err.code.should.equal(11000);
}
done();
});
});
});