From 0096d74cfad73b56c98a38bef840e773ab44d09c Mon Sep 17 00:00:00 2001 From: barisusakli Date: Tue, 17 Feb 2015 18:11:30 -0500 Subject: [PATCH] user password reset test --- src/user/reset.js | 2 +- tests/user.js | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/user/reset.js b/src/user/reset.js index 60ff820dbf..e010a1448e 100644 --- a/src/user/reset.js +++ b/src/user/reset.js @@ -51,7 +51,7 @@ var async = require('async'), template: 'reset', uid: uid }); - callback(); + callback(null, reset_code); }); }); }; diff --git a/tests/user.js b/tests/user.js index 466379c6e8..5c2f5bfd62 100644 --- a/tests/user.js +++ b/tests/user.js @@ -14,7 +14,8 @@ var assert = require('assert'), var User = require('../src/user'), Topics = require('../src/topics'), Categories = require('../src/categories'), - Meta = require('../src/meta'); + Meta = require('../src/meta'), + Password = require('../src/password'); describe('User', function() { var userData, @@ -193,6 +194,37 @@ describe('User', function() { }); }); + describe('passwordReset', function() { + var uid; + before(function(done) { + User.create({username: 'resetuser', password: '123456', email: 'reset@me.com'}, function(err, newUid) { + assert.ifError(err); + uid = newUid; + done(); + }); + }); + + it('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); + + User.reset.commit(code, 'newpassword', function(err) { + assert.ifError(err); + + db.getObjectField('user:' + uid, 'password', function(err, newPassword) { + assert.ifError(err); + Password.compare('newpassword', newPassword, function(err, match) { + assert.ifError(err); + assert(match); + done(); + }); + }); + }); + }); + }); + }); + after(function() { db.flushdb(); });