improved tests

This commit is contained in:
Ivan Socolsky 2014-12-18 15:17:01 -03:00
parent c61b8f4448
commit f7a682612a
2 changed files with 12 additions and 19 deletions

View File

@ -351,19 +351,17 @@
emailPlugin.createVerificationSecretAndSendEmail = function(email, callback) { emailPlugin.createVerificationSecretAndSendEmail = function(email, callback) {
emailPlugin.createVerificationSecret(email, function(err, secret) { emailPlugin.createVerificationSecret(email, function(err, secret) {
if (err) { if (err || !secret) {
logger.error('error saving verification secret', email, secret, err); logger.error('error saving verification secret', email, secret, err);
return callback(emailPlugin.errors.INTERNAL_ERROR); return callback(emailPlugin.errors.INTERNAL_ERROR);
} }
if (secret) { emailPlugin.sendVerificationEmail(email, secret, function (err, res) {
emailPlugin.sendVerificationEmail(email, secret, function (err, res) { if (err) {
if (err) { logger.error('error sending verification email', email, secret, err);
logger.error('error sending verification email', email, secret, err); return callback(emailPlugin.errors.ERROR_SENDING_EMAIL);
return callback(emailPlugin.errors.ERROR_SENDING_EMAIL); }
} return callback();
return callback(); });
});
}
}); });
}; };

View File

@ -22,7 +22,7 @@ describe('emailstore test', function() {
leveldb_stub.get = sinon.stub(); leveldb_stub.get = sinon.stub();
leveldb_stub.del = sinon.stub(); leveldb_stub.del = sinon.stub();
var email_stub = sinon.stub(); var email_stub = sinon.stub();
email_stub.sendMail = sinon.stub(); email_stub.sendMail = sinon.stub().callsArg(1);
var cryptoMock = { var cryptoMock = {
randomBytes: sinon.stub() randomBytes: sinon.stub()
@ -199,7 +199,6 @@ describe('emailstore test', function() {
}); });
describe('creating verification secret', function() { describe('creating verification secret', function() {
var sendVerificationEmail = sinon.stub(plugin, 'sendVerificationEmail');
var fakeEmail = 'fake@email.com'; var fakeEmail = 'fake@email.com';
var fakeRandom = 'fakerandom'; var fakeRandom = 'fakerandom';
var randomBytes = { var randomBytes = {
@ -211,8 +210,8 @@ describe('emailstore test', function() {
beforeEach(function() { beforeEach(function() {
leveldb_stub.get.reset(); leveldb_stub.get.reset();
leveldb_stub.put.reset(); leveldb_stub.put.reset();
plugin.email.sendMail.reset();
sendVerificationEmail.reset();
cryptoMock.randomBytes = sinon.stub(); cryptoMock.randomBytes = sinon.stub();
cryptoMock.randomBytes.onFirstCall().returns(randomBytes); cryptoMock.randomBytes.onFirstCall().returns(randomBytes);
}); });
@ -235,11 +234,11 @@ describe('emailstore test', function() {
done(); done();
}); });
}); });
it('calls the function to verify the email', function(done) { it('sends verification email', function(done) {
setupLevelDb(); setupLevelDb();
plugin.createVerificationSecretAndSendEmail(fakeEmail, function(err) { plugin.createVerificationSecretAndSendEmail(fakeEmail, function(err) {
sendVerificationEmail.calledOnce; plugin.email.sendMail.calledOnce.should.be.true;
done(); done();
}); });
}); });
@ -260,10 +259,6 @@ describe('emailstore test', function() {
done(); done();
}); });
}); });
after(function() {
plugin.sendVerificationEmail.restore();
});
}); });
}); });