61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
var should = require('should');
|
|
var app = require('../../app');
|
|
var User = require('./user.model');
|
|
|
|
var user = new User({
|
|
provider: 'local',
|
|
name: 'Fake User',
|
|
email: 'test@test.com',
|
|
password: 'password'
|
|
});
|
|
|
|
describe('User Model', function() {
|
|
before(function(done) {
|
|
// Clear users before testing
|
|
User.remove().exec().then(function() {
|
|
done();
|
|
});
|
|
});
|
|
|
|
afterEach(function(done) {
|
|
User.remove().exec().then(function() {
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should begin with no users', function(done) {
|
|
User.find({}, function(err, users) {
|
|
users.should.have.length(0);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should fail when saving a duplicate user', function(done) {
|
|
user.save(function() {
|
|
var userDup = new User(user);
|
|
userDup.save(function(err) {
|
|
should.exist(err);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
it('should fail when saving without an email', function(done) {
|
|
user.email = '';
|
|
user.save(function(err) {
|
|
should.exist(err);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it("should authenticate user if password is valid", function() {
|
|
return user.authenticate('password').should.be.true;
|
|
});
|
|
|
|
it("should not authenticate user if password is invalid", function() {
|
|
return user.authenticate('blah').should.not.be.true;
|
|
});
|
|
});
|