- Signup
- Login
- Locale
- Profile
- Contact
should redirect to /profile.
return connectedRequest.get('/signup').expect(302).end(function(err, res) {
should.not.exist(err);
res.header.location.should.equal('/profile');
return done();
});should return 200.
return request(new App()).get('/signup').expect(200).end(done);should redirect to /signupConfirmation when signup is successfull.
return request(new App()).post('/signup').send({
email: 'new@email.com',
password: 'password'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/signupConfirmation');
return done();
});should render /signup with error "×Form has errors" if email is missing.
return request(new App()).post('/signup').send({
password: 'password'
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-danger').text().should.equal('×Form has errors');
return done();
});should render /signup with error "×Email already exists.".
return request(new App()).post('/signup').send({
email: userData.email,
password: 'password'
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-danger').text().should.equal('×Email already exists.');
return done();
});should return 200.
return connectedRequest.get('/signupConfirmation').expect(200).end(done);should return 200.
return request(new App()).get('/signupConfirmation').expect(200).end(done);should return 200.
return connectedRequest.get('/signup/validation').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/profile');
return done();
});should redirect to homepage if no user has this key.
var url;
url = '/signup/validation?key=not-existing-key';
return request(new App()).get(url).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to /signupValidation if key is correct.
var url;
url = '/signup/validation?key=' + fixturesData.testUser.User.fakeUserNotValidated.validationKey;
return request(new App()).get(url).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/signupValidation');
return done();
});should return 200.
return connectedRequest.get('/signupValidation').expect(200).end(done);should return 200.
return request(new App()).get('/signupValidation').expect(200).end(done);should redirect to /profile.
return requestTest.get('/login').expect(302).end(function(err, res) {
should.not.exist(err);
res.header.location.should.equal('/profile');
return done();
});should return 200.
return request(new App()).get('/login').expect(200).end(function(err, res) {
should.not.exist(err);
return done();
});should redirect to /profile when authentication is successfull.
return request(new App()).post('/login').send({
email: userData.email,
password: 'plop'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/profile');
return done();
});should redirect to /login when authentication is wrong.
return request(new App()).post('/login').send({
email: userData.email,
password: 'badpassword'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/login');
return done();
});should redirect to /login even if password is correct.
return request(new App()).post('/login').send({
email: userData.email,
password: 'plip'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/login');
return done();
});with Accept-Language fr-FR should register language "fr" to user.
return requestTest.post('/signup').set('Accept-Language', 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4').send({
email: email,
password: 'password'
}).expect(302).end(function(err, res) {
should.not.exist(err);
return User.findOne({
email: email
}, function(err, user) {
should.exist(user);
user.language.should.equal = 'fr';
return done();
});
});with Accept-Language fr should register language "fr" to user.
return requestTest.post('/signup').set('Accept-Language', 'fr;q=0.8,en-US;q=0.6,en;q=0.4').send({
email: email,
password: 'password'
}).expect(302).end(function(err, res) {
should.not.exist(err);
return User.findOne({
email: email
}, function(err, user) {
should.exist(user);
user.language.should.equal = 'fr';
return done();
});
});with Accept-Language en-US should register language "en" to user.
return requestTest.post('/signup').set('Accept-Language', 'en-US;q=0.6,en;q=0.4').send({
email: email,
password: 'password'
}).expect(302).end(function(err, res) {
should.not.exist(err);
return User.findOne({
email: email
}, function(err, user) {
should.exist(user);
user.language.should.equal = 'en';
return done();
});
});with Accept-Language en should register language "en" to user.
return requestTest.post('/signup').set('Accept-Language', 'en;q=0.6,en;q=0.4').send({
email: email,
password: 'password'
}).expect(302).end(function(err, res) {
should.not.exist(err);
return User.findOne({
email: email
}, function(err, user) {
should.exist(user);
user.language.should.equal = 'en';
return done();
});
});with Accept-Language en-US should display in french.
return requestConnected.get('/').set('Accept-Language', 'en;q=0.6,en;q=0.4').expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
assert.equal('Profil', $body.find('a[href="/profile"]:eq(0)').text());
return done();
});with Accept-Language en-US and connected user language "en" should display in french.
return requestConnected.get('/?lang=fr').set('Accept-Language', 'en;q=0.6,en;q=0.4').expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
assert.equal('Profil', $body.find('a[href="/profile"]:eq(0)').text());
return done();
});should return 200.
return connectedRequest.get('/profile').expect(200).end(function(err, res) {
should.not.exist(err);
return done();
});should not delete already saved params.
var newFirstName;
newFirstName = 'Titi';
return connectedRequest.post('/profile').send({
firstName: newFirstName
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/profile');
return User.findOne({
firstName: newFirstName
}, function(err, modifiedUser) {
should.not.exist(err);
assert.equal(fakeUser.lastName, modifiedUser.lastName);
return done();
});
});should redirect to /login.
return request(new App()).get('/profile').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/login');
return done();
});should return 200.
return connectedRequest.get('/request/reset/password').expect(200).end(done);should return 200 with warning "×Email was not found" if email not found.
return connectedRequest.post('/request/reset/password').send({
email: 'not@known.email'
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-warning').length.should.equal(1);
should.exist($body.find('.alert.alert-warning').text());
return done();
});should redirect to / if email is found.
return connectedRequest.post('/request/reset/password').send({
email: fixturesData.testUser.User.fakeUser.email
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should return 200.
return request(new App()).get('/request/reset/password').expect(200).end(done);should return 200 with warning "×Email was not found" if email not found.
return request(new App()).post('/request/reset/password').send({
email: 'not@known.email'
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-warning').text().should.equal('×Email was not found');
return done();
});should redirect to / if email is found.
return request(new App()).post('/request/reset/password').send({
email: fixturesData.testUser.User.fakeUser.email
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to /profile.
return connectedRequest.get('/reset/password').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/profile');
return done();
});should redirect to /profile.
return connectedRequest.post('/reset/password').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/profile');
return done();
});should redirect to homepage if not key in query.
return request(new App()).get('/reset/password').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to homepage if key in query but no value.
return request(new App()).get('/reset/password?key=').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to homepage if regeneratePasswordKey is not found.
return request(new App()).get('/reset/password?key=not-found-regenerate-password-key').expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to homepage if regeneratePasswordKey is found but account is not validated.
var url;
url = '/reset/password?key=' + fixturesData.testUser.User.fakeUserNotValidated.regeneratePasswordKey;
return request(new App()).get(url).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should return 200 if regeneratePasswordKey is found and account is validated.
var url;
url = '/reset/password?key=' + fixturesData.testUser.User.fakeUser.regeneratePasswordKey;
return request(new App()).get(url).expect(200).end(done);should redirect to homepage if regeneratePasswordKey is not found.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: 'not-found-regenerate-password-key'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should redirect to homepage if regeneratePasswordKey is found but account is not validated.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: fixturesData.testUser.User.fakeUserNotValidated.regeneratePasswordKey
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/');
return done();
});should return 200 with error "×You must provide a password" if password not defined.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: fixturesData.testUser.User.fakeUser.regeneratePasswordKey
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-danger').text().should.equal('×You must provide a password');
return done();
});should return 200 with error "×You must provide a password" if password empty string.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: fixturesData.testUser.User.fakeUser.regeneratePasswordKey,
password: ''
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-danger').text().should.equal('×You must provide a password');
return done();
});should return 200 with error "×You must provide a password more complicated" if password too simple.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: fixturesData.testUser.User.fakeUser.regeneratePasswordKey,
password: 'yo'
}).expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('.alert.alert-danger').text().should.equal('×You must provide a password more complicated');
return done();
});should redirect to /login if email is found and password enough complex.
return request(new App()).post('/reset/password').send({
regeneratePasswordKey: fixturesData.testUser.User.fakeUser.regeneratePasswordKey,
password: 'enough complex'
}).expect(302).end(function(err, res) {
should.not.exist(err);
res.header['location'].should.include('/login');
return done();
});should return 200.
return connectedRequest.get('/contact').expect(200).end(done);should not display captcha.
return connectedRequest.get('/contact').expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('[for="recaptcha_challenge_field"]').length.should.equal(0);
return done();
});should return 200.
return request(new App()).get('/contact').expect(200).end(done);should display captcha.
return request(new App()).get('/contact').expect(200).end(function(err, res) {
var $body;
should.not.exist(err);
$body = $(res.text);
$body.find('[for="recaptcha_challenge_field"]').length.should.equal(1);
return done();
});