64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
var mongoose = require('mongoose');
|
|
|
|
beforeEach(function() {
|
|
mongoose.connect('mongodb://localhost/makers-achievements-test', function() {
|
|
mongoose.connection.db.dropDatabase();
|
|
});
|
|
});
|
|
|
|
afterEach(function() {
|
|
mongoose.connect('mongodb://localhost/makers-achievements-test', function() {
|
|
mongoose.connection.db.dropDatabase();
|
|
});
|
|
});
|
|
|
|
describe('User Authentication', function() {
|
|
it('a user can sign up, sign out and sign in', function() {
|
|
browser.get('http://localhost:8080/#/achievements');
|
|
|
|
var signUpLink = element(by.css('a[href*="#/register"]'));
|
|
var signInLink = element(by.css('a[href*="#/login"]'));
|
|
|
|
expect(signUpLink.isDisplayed()).toBeTruthy();
|
|
expect(signInLink.isDisplayed()).toBeTruthy();
|
|
|
|
signUpLink.click();
|
|
|
|
expect(browser.getCurrentUrl()).toContain('#/register');
|
|
|
|
var usernameInput = element(by.css('input[name="username"]'));
|
|
var passwordInput = element(by.css('input[name="password"]'));
|
|
var signUpForm = element(by.css('form'));
|
|
|
|
usernameInput.sendKeys('test user');
|
|
passwordInput.sendKeys('epicpassword');
|
|
signUpForm.submit();
|
|
|
|
expect(browser.getCurrentUrl()).toContain('#/achievements');
|
|
expect(signUpLink.isDisplayed()).toBeFalsy();
|
|
expect(signInLink.isDisplayed()).toBeFalsy();
|
|
|
|
var usernameDropdown = element(by.css('.dropdown-toggle'));
|
|
var signOutButton = element(by.css('.btn-logout'));
|
|
|
|
usernameDropdown.click();
|
|
signOutButton.click();
|
|
|
|
expect(browser.getCurrentUrl()).toContain('#/achievements');
|
|
|
|
signInLink.click();
|
|
|
|
expect(browser.getCurrentUrl()).toContain('#/login');
|
|
|
|
var signInForm = element(by.css('form'));
|
|
|
|
usernameInput.sendKeys('test user');
|
|
passwordInput.sendKeys('epicpassword');
|
|
signInForm.submit();
|
|
|
|
expect(browser.getCurrentUrl()).toContain('#/achievements');
|
|
expect(signUpLink.isDisplayed()).toBeFalsy();
|
|
expect(signInLink.isDisplayed()).toBeFalsy();
|
|
});
|
|
});
|