diff --git a/e2e/suites/public/public.e2e.js b/e2e/suites/public/public.e2e.js index bfe04d31..c5f5118c 100644 --- a/e2e/suites/public/public.e2e.js +++ b/e2e/suites/public/public.e2e.js @@ -60,21 +60,25 @@ describe('Public', async function(){ utils.common.takeScreenshot('public', 'kanban'); }); - it('us detail', function() { + it('us detail', async function() { browser.get(browser.params.glob.host + 'project/project-3/backlog'); - utils.nav + await utils.common.waitLoader(); + + await utils.nav .init() .us(0) .go(); - utils.common.takeScreenshot('public', 'us-detail'); + return utils.common.takeScreenshot('public', 'us-detailb'); }); - it('issue detail', function() { + it('issue detail', async function() { browser.get(browser.params.glob.host + 'project/project-3/issues'); - utils.nav + await utils.common.waitLoader(); + + await utils.nav .init() .issue(0) .go(); @@ -85,7 +89,9 @@ describe('Public', async function(){ it('task detail', async function() { browser.get(browser.params.glob.host + 'project/project-3/backlog'); - utils.nav + await utils.common.waitLoader(); + + await utils.nav .init() .taskboard(0) .task(0) diff --git a/e2e/utils/common.js b/e2e/utils/common.js index c1c4e468..629c9a4e 100644 --- a/e2e/utils/common.js +++ b/e2e/utils/common.js @@ -51,7 +51,7 @@ common.browserSkip = function(browserName, name, fn) { common.link = async function(el) { let oldUrl = await browser.getCurrentUrl(); - browser + await browser .actions() .mouseMove(el) .perform(); @@ -62,20 +62,22 @@ common.link = async function(el) { // aren't fired (we need them for the tg-nav calculation). Moving the cursor // "a little bit" tries to ensure the href text is really hovered and the // events are fired - browser.actions() + await browser.actions() .mouseMove({x: -10, y: -10}) .perform(); - browser.actions() + await browser.actions() .mouseMove({x: 10, y: 10}) .perform(); + await browser.wait(async function() { let href = await el.getAttribute('href'); - return href.length > 1 && href !== browser.params.glob.host + "#"; + + return (href.length > 1 && href !== browser.params.glob.host + "#"); }, 5000); - browser + await browser .actions() .mouseMove(el) .click() @@ -83,6 +85,7 @@ common.link = async function(el) { return browser.wait(async function() { let newUrl = await browser.getCurrentUrl(); + return oldUrl !== newUrl; }, 5000); }; @@ -146,12 +149,16 @@ common.login = function(username, password) { }); }; -common.logout = function() { - browser.actions() - .mouseMove($('div[tg-dropdown-user]')) +common.logout = async function() { + let dropdown = $('div[tg-dropdown-user]'); + + await browser.actions() + .mouseMove(dropdown) .perform(); - common.link($$('.navbar-dropdown li a').last()); + await common.waitTransitionTime(dropdown); + + $$('.navbar-dropdown li a').last().click(); return browser.driver.wait(async function() { let url = await browser.driver.getCurrentUrl(); diff --git a/e2e/utils/nav.js b/e2e/utils/nav.js index 65527210..49fc496b 100644 --- a/e2e/utils/nav.js +++ b/e2e/utils/nav.js @@ -23,10 +23,10 @@ var actions = { return common.waitLoader(); }, - issue: function(index) { + issue: async function(index) { let issue = $$('section.issues-table .row.table-main .subject a').get(index); - common.link(issue); + await common.link(issue); return common.waitLoader(); }, @@ -35,10 +35,10 @@ var actions = { return common.waitLoader(); }, - us: function(index) { + us: async function(index) { let us = $$('.user-story-name>a').get(index); - common.link(us); + await common.link(us); return common.waitLoader(); }, @@ -46,15 +46,17 @@ var actions = { browser.get(browser.params.glob.host); return common.waitLoader(); }, - taskboard: function(index) { + taskboard: async function(index) { let link = $$('.sprints .button-gray').get(index); - common.link(link); + await common.link(link); return common.waitLoader(); }, - task: function(index) { - common.link($$('div[tg-taskboard-task] a.task-name').get(index)); + task: async function(index) { + let task = $$('div[tg-taskboard-task] a.task-name').get(index); + + await common.link(task); return common.waitLoader(); }