From 04f536854c8c1f15b3d1fcee9a9db49a2ec7a108 Mon Sep 17 00:00:00 2001 From: Julian Lam <julian@designcreateplay.com> Date: Thu, 2 Apr 2015 20:27:43 -0400 Subject: [PATCH] added some tests, fixed user reset tests --- tests/user.js | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/tests/user.js b/tests/user.js index 5c2f5bfd62..9a1ee4b90f 100644 --- a/tests/user.js +++ b/tests/user.js @@ -195,7 +195,8 @@ describe('User', function() { }); describe('passwordReset', function() { - var uid; + var uid, + code; before(function(done) { User.create({username: 'resetuser', password: '123456', email: 'reset@me.com'}, function(err, newUid) { assert.ifError(err); @@ -204,21 +205,49 @@ describe('User', function() { }); }); - it('should create a new reset code and reset password', function(done) { + it('.generate() should generate a new reset code', function(done) { + User.reset.generate(uid, function(err, _code) { + assert.ifError(err); + assert(_code); + + code = _code; + done(); + }); + }); + + it('.validate() should ensure that this new code is valid', function(done) { + User.reset.validate(code, function(err, valid) { + assert.ifError(err); + assert.strictEqual(valid, true); + done(); + }); + }); + + it('.validate() should correctly identify an invalid code', function(done) { + User.reset.validate(code + 'abcdef', function(err, valid) { + assert.ifError(err); + assert.strictEqual(valid, false); + done(); + }); + }); + + it('.send() should create a new reset code and reset password', function(done) { User.reset.send('reset@me.com', function(err, code) { assert.ifError(err); - assert(code); + done(); + }); + }); - User.reset.commit(code, 'newpassword', function(err) { - assert.ifError(err); + it('.commit() should update the user\'s password', function(done) { + User.reset.commit(code, 'newpassword', function(err) { + assert.ifError(err); - db.getObjectField('user:' + uid, 'password', function(err, newPassword) { + db.getObjectField('user:' + uid, 'password', function(err, newPassword) { + assert.ifError(err); + Password.compare('newpassword', newPassword, function(err, match) { assert.ifError(err); - Password.compare('newpassword', newPassword, function(err, match) { - assert.ifError(err); - assert(match); - done(); - }); + assert(match); + done(); }); }); });