Refactor email verification tests into a new group

This commit is contained in:
Raymond Feng 2014-07-08 08:54:50 -07:00
parent de831dbd33
commit 74a39f3fc2
1 changed files with 57 additions and 55 deletions

View File

@ -172,26 +172,6 @@ describe('User', function(){
});
});
it('Login a user by without email verification', function(done) {
User.settings.emailVerificationRequired = true;
User.login(validCredentials, function (err, accessToken) {
assert(err);
User.settings.emailVerificationRequired = false;
done();
});
});
it('Login a user by with email verification', function(done) {
User.settings.emailVerificationRequired = true;
User.login(validCredentialsEmailVerified, function (err, accessToken) {
assert(accessToken.userId);
assert(accessToken.id);
assert.equal(accessToken.id.length, 64);
User.settings.emailVerificationRequired = false;
done();
});
});
it('Login a user over REST by providing credentials', function(done) {
request(app)
.post('/users/login')
@ -211,41 +191,6 @@ describe('User', function(){
});
});
it('Login a user over REST when email verification is required', function(done) {
User.settings.emailVerificationRequired = true;
request(app)
.post('/users/login')
.expect('Content-Type', /json/)
.expect(200)
.send(validCredentialsEmailVerified)
.end(function(err, res){
if(err) return done(err);
var accessToken = res.body;
assert(accessToken.userId);
assert(accessToken.id);
assert.equal(accessToken.id.length, 64);
assert(accessToken.user === undefined);
User.settings.emailVerificationRequired = false;
done();
});
});
it('Login a user over REST without email verification when it is required', function(done) {
User.settings.emailVerificationRequired = true;
request(app)
.post('/users/login')
.expect('Content-Type', /json/)
.expect(401)
.send(validCredentials)
.end(function(err, res){
User.settings.emailVerificationRequired = false;
done();
});
});
it('Login a user over REST by providing invalid credentials', function(done) {
request(app)
.post('/users/login')
@ -306,6 +251,63 @@ describe('User', function(){
});
});
});
describe('User.login requiring email verification', function() {
beforeEach(function() {
User.settings.emailVerificationRequired = true;
});
afterEach(function() {
User.settings.emailVerificationRequired = false;
});
it('Login a user by without email verification', function(done) {
User.login(validCredentials, function (err, accessToken) {
assert(err);
done();
});
});
it('Login a user by with email verification', function(done) {
User.login(validCredentialsEmailVerified, function (err, accessToken) {
assert(accessToken.userId);
assert(accessToken.id);
assert.equal(accessToken.id.length, 64);
done();
});
});
it('Login a user over REST when email verification is required', function(done) {
request(app)
.post('/users/login')
.expect('Content-Type', /json/)
.expect(200)
.send(validCredentialsEmailVerified)
.end(function(err, res){
if(err) return done(err);
var accessToken = res.body;
assert(accessToken.userId);
assert(accessToken.id);
assert.equal(accessToken.id.length, 64);
assert(accessToken.user === undefined);
done();
});
});
it('Login a user over REST without email verification when it is required', function(done) {
request(app)
.post('/users/login')
.expect('Content-Type', /json/)
.expect(401)
.send(validCredentials)
.end(function(err, res) {
done();
});
});
});
describe('User.logout', function() {
it('Logout a user by providing the current accessToken id (using node)', function(done) {