Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
Julian Lam
2017-03-15 10:01:00 -04:00
24 changed files with 279 additions and 214 deletions

View File

@@ -399,19 +399,22 @@ describe('User', function () {
});
it('should change a user\'s password', function (done) {
this.timeout(20000);
io.emit('user.changePassword', { uid: uid, newPassword: '654321', currentPassword: '123456' }, function (err) {
var socketUser = require('../src/socket.io/user');
User.create({ username: 'changepassword', password: '123456' }, function (err, uid) {
assert.ifError(err);
User.isPasswordCorrect(uid, '654321', function (err, correct) {
socketUser.changePassword({ uid: uid }, { uid: uid, newPassword: '654321', currentPassword: '123456' }, function (err) {
assert.ifError(err);
assert(correct);
done();
User.isPasswordCorrect(uid, '654321', function (err, correct) {
assert.ifError(err);
assert(correct);
done();
});
});
});
});
it('should change username', function (done) {
io.emit('user.changeUsernameEmail', { uid: uid, username: 'updatedAgain', password: '654321' }, function (err) {
io.emit('user.changeUsernameEmail', { uid: uid, username: 'updatedAgain', password: '123456' }, function (err) {
assert.ifError(err);
db.getObjectField('user:' + uid, 'username', function (err, username) {
assert.ifError(err);
@@ -422,7 +425,7 @@ describe('User', function () {
});
it('should change email', function (done) {
io.emit('user.changeUsernameEmail', { uid: uid, email: 'updatedAgain@me.com', password: '654321' }, function (err) {
io.emit('user.changeUsernameEmail', { uid: uid, email: 'updatedAgain@me.com', password: '123456' }, function (err) {
assert.ifError(err);
db.getObjectField('user:' + uid, 'email', function (err, email) {
assert.ifError(err);
@@ -1152,6 +1155,45 @@ describe('User', function () {
});
});
describe('email confirm', function () {
it('should error with invalid code', function (done) {
User.email.confirm('asdasda', function (err) {
assert.equal(err.message, '[[error:invalid-data]]');
done();
});
});
it('should confirm email of user', function (done) {
var email = 'confirm@me.com';
User.create({
username: 'confirme',
email: email,
}, function (err, uid) {
assert.ifError(err);
User.email.sendValidationEmail(uid, email, function (err, code) {
assert.ifError(err);
User.email.confirm(code, function (err) {
assert.ifError(err);
async.parallel({
confirmed: function (next) {
db.getObjectField('user:' + uid, 'email:confirmed', next);
},
isMember: function (next) {
db.isSortedSetMember('users:notvalidated', uid, next);
},
}, function (err, results) {
assert.ifError(err);
assert.equal(results.confirmed, 1);
assert.equal(results.isMember, false);
done();
});
});
});
});
});
});
after(function (done) {
db.emptydb(done);