2015-09-10 22:06:28 +00:00
|
|
|
// 'use strict';
|
|
|
|
|
|
|
|
// var should = require('should'),
|
|
|
|
// _ = require('lodash'),
|
|
|
|
// app = require('../../server'),
|
|
|
|
// request = require('supertest'),
|
|
|
|
// Session = require('supertest-session')({
|
|
|
|
// app: app
|
|
|
|
// }),
|
|
|
|
// mongoose = require('mongoose'),
|
|
|
|
// User = mongoose.model('User'),
|
|
|
|
// config = require('../../config/config'),
|
|
|
|
// tmpUser = mongoose.model(config.tempUserCollection),
|
|
|
|
// agent = request.agent(app),
|
|
|
|
// url = require('url');
|
|
|
|
|
|
|
|
// var mailosaur = require('mailosaur')(config.mailosaur.key),
|
|
|
|
// mailbox = new mailosaur.Mailbox(config.mailosaur.mailbox_id);
|
|
|
|
|
|
|
|
// var mandrill = require('node-mandrill')(config.mailer.options.auth.pass);
|
|
|
|
|
|
|
|
// /**
|
|
|
|
// * Globals
|
|
|
|
// */
|
|
|
|
// var credentials, _User, _Session;
|
|
|
|
|
|
|
|
// /**
|
|
|
|
// * Form routes tests
|
|
|
|
// */
|
|
|
|
// describe('User CRUD tests', function() {
|
|
|
|
// this.timeout(15000);
|
|
|
|
// var userSession;
|
|
|
|
|
|
|
|
// beforeEach(function() {
|
|
|
|
// //Initialize Session
|
|
|
|
// userSession = new Session();
|
|
|
|
|
|
|
|
// // Create user credentials
|
|
|
|
// credentials = {
|
|
|
|
// username: 'be1e58fb@mailosaur.in',
|
|
|
|
// password: 'password'
|
|
|
|
// };
|
|
|
|
|
|
|
|
// // Create a new user
|
|
|
|
// _User = {
|
|
|
|
// firstName: 'Full',
|
|
|
|
// lastName: 'Name',
|
|
|
|
// email: credentials.username,
|
|
|
|
// username: credentials.username,
|
|
|
|
// password: credentials.password,
|
|
|
|
// };
|
|
|
|
// });
|
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// describe('Create, Verify and Activate a User', function() {
|
2015-09-10 22:06:28 +00:00
|
|
|
// var username = 'testActiveAccount.be1e58fb@mailosaur.in';
|
2015-09-18 16:32:17 +00:00
|
|
|
// var link, _tmpUser, activateToken;
|
|
|
|
// this.timeout(15000);
|
2015-09-10 22:06:28 +00:00
|
|
|
|
|
|
|
// it('should be able to create a temporary (non-activated) User', function(done) {
|
|
|
|
// _User.email = _User.username = username;
|
|
|
|
// request(app).post('/auth/signup')
|
|
|
|
// .send(_User)
|
|
|
|
// .expect(200, 'An email has been sent to you. Please check it to verify your account.')
|
|
|
|
// .end(function(FormSaveErr, FormSaveRes) {
|
|
|
|
// // (FormSaveRes.text).should.equal('An email has been sent to you. Please check it to verify your account.');
|
|
|
|
// done();
|
|
|
|
// // tmpUser.findOne({username: _User.username}, function (err, user) {
|
|
|
|
// // should.not.exist(err);
|
|
|
|
// // should.exist(user);
|
|
|
|
// // _tmpUser = user;
|
|
|
|
|
|
|
|
// // _User.username.should.equal(user.username);
|
|
|
|
// // _User.firstName.should.equal(user.firstName);
|
|
|
|
// // _User.lastName.should.equal(user.lastName);
|
|
|
|
|
|
|
|
// // // mandrill('/messages/search', {
|
|
|
|
// // // query: "subject:Confirm",
|
|
|
|
// // // senders: [
|
|
|
|
// // // "test@forms.polydaic.com"
|
|
|
|
// // // ],
|
|
|
|
// // // limit: 1
|
|
|
|
// // // }, function(error, emails) {
|
|
|
|
// // // if (error) console.log( JSON.stringify(error) );
|
|
|
|
|
|
|
|
// // // var confirmation_email = emails[0];
|
|
|
|
|
|
|
|
// // // mandrill('/messages/content', {
|
|
|
|
// // // id: confirmation_email._id
|
|
|
|
// // // }, function(error, email) {
|
|
|
|
// // // if (error) console.log( JSON.stringify(error) );
|
|
|
|
|
|
|
|
// // // // console.log(email);
|
|
|
|
// // // var link = _(email.text.split('\n')).reverse().value()[1];
|
|
|
|
// // // console.log(link);
|
|
|
|
// // // activateToken = _(url.parse(link).hash.split('/')).reverse().value()[0];
|
|
|
|
// // // console.log('actual activateToken: '+ activateToken);
|
|
|
|
// // // console.log('expected activateToken: ' + user.GENERATED_VERIFYING_URL);
|
|
|
|
|
|
|
|
// // // done();
|
|
|
|
|
|
|
|
// // // });
|
|
|
|
// // // });
|
|
|
|
|
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// // mailbox.getEmails(function(err, _emails) {
|
|
|
|
// // if(err) done(err);
|
2015-09-10 22:06:28 +00:00
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// // var emails = _emails;
|
2015-09-10 22:06:28 +00:00
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// // console.log('mailbox.getEmails:');
|
|
|
|
// // console.log(emails[0].text.links);
|
2015-09-10 22:06:28 +00:00
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// // var link = emails[0].text.links[0].href;
|
|
|
|
// // activateToken = _(url.parse(link).hash.split('/')).reverse().value()[0];
|
|
|
|
// // console.log('actual activateToken: '+ activateToken);
|
|
|
|
// // console.log('expected activateToken: ' + user.GENERATED_VERIFYING_URL);
|
|
|
|
// // (activateToken).should.equal(user.GENERATED_VERIFYING_URL);
|
2015-09-10 22:06:28 +00:00
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// // done();
|
|
|
|
// // });
|
2015-09-10 22:06:28 +00:00
|
|
|
// // });
|
|
|
|
// });
|
|
|
|
// });
|
2015-09-18 16:32:17 +00:00
|
|
|
|
|
|
|
// it('shold have created User Account', function(done){
|
|
|
|
// tmpUser.findOne({username: _User.username}, function (err, user) {
|
|
|
|
// should.not.exist(err);
|
|
|
|
// should.exist(user);
|
|
|
|
// _tmpUser = user;
|
2015-09-10 22:06:28 +00:00
|
|
|
|
2015-09-18 16:32:17 +00:00
|
|
|
// _User.username.should.equal(user.username);
|
|
|
|
// _User.firstName.should.equal(user.firstName);
|
|
|
|
// _User.lastName.should.equal(user.lastName)
|
|
|
|
|
|
|
|
// activateToken = user.GENERATED_VERIFYING_URL;
|
|
|
|
|
|
|
|
// done();
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// it('should be able to verify a User Account', function(done) {
|
|
|
|
// userSession.get('/auth/verify/'+activateToken)
|
|
|
|
// .expect(200)
|
|
|
|
// .end(function(VerifyErr, VerifyRes) {
|
|
|
|
// should.not.exist(VerifyErr);
|
|
|
|
// (VerifyRes.text).should.equal('User successfully verified');
|
|
|
|
// done();
|
|
|
|
// });
|
|
|
|
// });
|
2015-09-10 22:06:28 +00:00
|
|
|
|
|
|
|
// // it('should receive confirmation email after verifying a User Account', function(done) {
|
|
|
|
// // mailbox.getEmails(function(err, _emails) {
|
|
|
|
// // if(err) throw err;
|
|
|
|
// // var email = _emails[0];
|
|
|
|
|
|
|
|
// // // console.log('mailbox.getEmails:');
|
|
|
|
// // console.log(email);
|
|
|
|
// // (email.subject).should.equal('Account successfully verified!');
|
|
|
|
// // done();
|
|
|
|
// // });
|
|
|
|
// // });
|
2015-09-18 16:32:17 +00:00
|
|
|
// });
|
2015-09-10 22:06:28 +00:00
|
|
|
|
|
|
|
// // it('should be able to login and logout a User', function (done) {
|
|
|
|
// // var username = 'testActiveAccount.be1e58fb@mailosaur.in';
|
|
|
|
// // _User.email = _User.username = credentials.username = username;
|
|
|
|
// // userSession.post('/auth/signup')
|
|
|
|
// // .send(_User)
|
|
|
|
// // .expect(200)
|
|
|
|
// // .end(function(FormSaveErr, FormSaveRes) {
|
|
|
|
// // (FormSaveRes.text).should.equal('An email has been sent to you. Please check it to verify your account.');
|
2015-09-15 22:26:11 +00:00
|
|
|
|
2015-08-18 21:44:36 +00:00
|
|
|
|
2015-09-10 22:06:28 +00:00
|
|
|
// // userSession.post('/auth/signin')
|
|
|
|
// // .send(credentials)
|
|
|
|
// // .expect('Content-Type', /json/)
|
|
|
|
// // .expect(200)
|
|
|
|
// // .end(function(signinErr, signinRes) {
|
|
|
|
|
|
|
|
// // // Handle signin error
|
|
|
|
// // if (signinErr) throw signinErr;
|
|
|
|
|
|
|
|
// // userSession.get('/auth/signout')
|
|
|
|
// // .expect(200)
|
|
|
|
// // .end(function(signoutErr, signoutRes) {
|
|
|
|
|
|
|
|
// // // Handle signout error
|
|
|
|
// // if (signoutErr) throw signoutErr;
|
|
|
|
|
|
|
|
// // (signoutRes.text).should.equal('Successfully logged out');
|
|
|
|
|
|
|
|
// // done();
|
|
|
|
// // });
|
|
|
|
// // });
|
|
|
|
// // });
|
|
|
|
// // });
|
|
|
|
|
|
|
|
// // it('should be able to reset a User\'s password');
|
|
|
|
|
|
|
|
// // it('should be able to delete a User account without any problems');
|
|
|
|
|
|
|
|
// afterEach(function(done) {
|
|
|
|
// User.remove().exec(function () {
|
|
|
|
// tmpUser.remove().exec(function(){
|
|
|
|
// // mailbox.deleteAllEmail(function (err, body) {
|
|
|
|
// // if(err) throw err;
|
|
|
|
// userSession.destroy();
|
|
|
|
// done();
|
|
|
|
// // });
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// });
|