From 74a39f3fc25e35facbe71a7470c951dd54865acc Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Tue, 8 Jul 2014 08:54:50 -0700 Subject: [PATCH] Refactor email verification tests into a new group --- test/user.test.js | 112 +++++++++++++++++++++++----------------------- 1 file changed, 57 insertions(+), 55 deletions(-) diff --git a/test/user.test.js b/test/user.test.js index 1611995c..e0c53e32 100644 --- a/test/user.test.js +++ b/test/user.test.js @@ -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) {