From 6ce0893edca73e6a2fb792d62868de0ba226dcfe Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sun, 13 Mar 2016 21:56:42 -0500 Subject: [PATCH] test: unpend registration test --- test/e2e/static-pages/front-page.test.js | 37 ++++++++++++++++++------ 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/test/e2e/static-pages/front-page.test.js b/test/e2e/static-pages/front-page.test.js index 9d107389f6..9f1475d455 100644 --- a/test/e2e/static-pages/front-page.test.js +++ b/test/e2e/static-pages/front-page.test.js @@ -1,3 +1,5 @@ +import { v4 as generateUniqueId } from 'uuid'; + describe('Static Front Page', () => { beforeEach(() => { browser.get('/'); @@ -6,18 +8,25 @@ describe('Static Front Page', () => { it('shows the front page', async () => { let button = element(by.id('play-btn')); + await expect(button.getText()).to.eventually.eql('Join for free'); }); it('does not login when using wrong credentials', async () => { let button = element(by.id('play-btn')); + let randomName = generateUniqueId(); + button.click(); browser.sleep(1000); - element(by.model('loginUsername')).sendKeys('username'); + + element(by.model('loginUsername')).sendKeys(randomName); element(by.model('loginPassword')).sendKeys('pass'); + let login = element(by.css('#loginForm input[value="Login"]')); + login.click(); browser.sleep(1000); + let alertDialog = browser.switchTo().alert(); await expect(alertDialog.getText()).to.eventually.match(/username or password is incorrect./); @@ -25,21 +34,31 @@ describe('Static Front Page', () => { alertDialog.accept(); }); - xit('registers a new user', function () { + it('registers a new user', async function () { + this.timeout(30000); // TODO: Speed up registration action. Takes way too long and times out unless you extend the timeout + let button = element(by.id('play-btn')); + let randomName = generateUniqueId(); + button.click(); browser.sleep(1000); + let registerTab = element(by.linkText('Register')); registerTab.click(); - element(by.model('registerVals.username')).sendKeys('user'); - element(by.model('registerVals.email')).sendKeys('user@example.com'); + element(by.model('registerVals.username')).sendKeys(randomName); + element(by.model('registerVals.email')).sendKeys(`${randomName}@example.com`); element(by.model('registerVals.password')).sendKeys('pass'); element(by.model('registerVals.confirmPassword')).sendKeys('pass'); - let register = element(by.css('#registrationForm input[value="Register"]')); + + let register = element(by.css('#registrationForm input[type="submit"]')); + register.click(); - browser.sleep(1000); - browser.getCurrentUrl().then(function (url) { - expect(url).not.toMatch(/static\/front/); - }); + browser.sleep(3000); + + let url = await browser.getCurrentUrl(); + + expect(url).to.not.match(/static\/front/); }); + + it('logs in an existing user'); });