- UserPlugin
create a user and set validated to false.
return checkSignupWorks(User, email, done);fails and set validated to false when email not matching.
return checkSignupFails(UserOtherEmailMatch, 'titi@toto.com', done);fails with the same email.
return checkSignupWorks(User, email, function(err) {
should.not.exist(err);
return checkSignupFails(User, email, done);
});should valid account.
var email, userTest;
email = 'toto@toto.com';
userTest = {};
return async.series([
function(callback) {
return User.signup(email, 'passwd', 'fr', function(err, user) {
userTest = user;
return callback();
});
}, function(callback) {
return User.accountValidator(userTest.validationKey, callback);
}, function(callback) {
return User.findOne({
email: email
}, function(err, user) {
user.validated.should.equal(true);
should.not.exist(user.validationKey);
return done();
});
}
], done);fails if validationKey doesn't exist.
return User.accountValidator('key-not-exists', function(err, user) {
should.exist(err);
return done();
});not validating user password even if password is correct.
return User.isValidUserPassword(email, passwd, function(err, data, msg) {
should.not.exist(err);
should.exist(msg);
assert.equal(false, data);
assert.deepEqual(msg, {
message: 'Account not validated.'
});
return done();
});validating user password if password is correct.
return User.isValidUserPassword(email, passwd, function(err, data, msg) {
should.not.exist(err);
should.not.exist(msg);
assert.equal(user.email, data.email);
return done();
});not validating user password if password is not correct.
return User.isValidUserPassword(email, 'badpasswd', function(err, data, msg) {
should.not.exist(err);
should.exist(msg);
assert.equal(false, data);
assert.deepEqual(msg, {
message: 'Incorrect password.'
});
return done();
});set required fields for forgot password process.
return user.requestResetPassword(function(err, modifedUser) {
should.not.exist(err);
should.exist(modifedUser.regeneratePasswordKey);
should.exist(modifedUser.regeneratePasswordDate);
return done();
});create facebook user when user doesn't exists.
return User.findOrCreateFaceBookUser(profile, function(err, user) {
should.not.exist(err);
return User.find({}, function(err, users) {
users.length.should.equal(1);
users[0].email.should.equal(email);
users[0].validated.should.equal(true);
return done();
});
});retrieve facebook user when user exists.
return User.findOrCreateFaceBookUser(profile, function(err, user) {
var userId;
should.not.exist(err);
userId = user._id;
return User.findOrCreateFaceBookUser(profile, function(err, user) {
should.not.exist(err);
assert.deepEqual(userId, user._id);
return User.find({}, function(err, users) {
users.length.should.equal(1);
users[0].email.should.equal(email);
return done();
});
});
});