diff --git a/e2e/full/issues/issue-detail.e2e.js b/e2e/full/issues/issue-detail.e2e.js index 863376b1..a909fc35 100644 --- a/e2e/full/issues/issue-detail.e2e.js +++ b/e2e/full/issues/issue-detail.e2e.js @@ -6,7 +6,7 @@ var chaiAsPromised = require('chai-as-promised'); chai.use(chaiAsPromised); var expect = chai.expect; -describe.only('Issue detail', async function(){ +describe('Issue detail', async function(){ let issuesUrl = ""; before(async function(){ utils.common.goHome(); @@ -28,6 +28,8 @@ describe.only('Issue detail', async function(){ it('assigned to edition', utils.detail.assignedToTesting); + it('watchers edition', utils.detail.watchersTesting); + it('history', utils.detail.historyTesting); it('screenshot', async function() { diff --git a/e2e/full/tasks/task-detail.e2e.js b/e2e/full/tasks/task-detail.e2e.js index 9b68993f..82558975 100644 --- a/e2e/full/tasks/task-detail.e2e.js +++ b/e2e/full/tasks/task-detail.e2e.js @@ -29,6 +29,8 @@ describe('Task detail', function(){ it('assigned to edition', utils.detail.assignedToTesting); + it('watchers edition', utils.detail.watchersTesting); + it('history', utils.detail.historyTesting); it('screenshot', async function() { diff --git a/e2e/full/user-stories/user-story-detail.e2e.js b/e2e/full/user-stories/user-story-detail.e2e.js index 1750f118..c9927e99 100644 --- a/e2e/full/user-stories/user-story-detail.e2e.js +++ b/e2e/full/user-stories/user-story-detail.e2e.js @@ -28,6 +28,8 @@ describe('User story detail', function(){ it('assigned to edition', utils.detail.assignedToTesting); + it('watchers edition', utils.detail.watchersTesting); + it('history', utils.detail.historyTesting); it('screenshot', async function() { diff --git a/e2e/helpers/detail-helper.js b/e2e/helpers/detail-helper.js index e7a23a8c..b7a5117b 100644 --- a/e2e/helpers/detail-helper.js +++ b/e2e/helpers/detail-helper.js @@ -326,3 +326,56 @@ helper.attachment = function() { return obj; } + + + +helper.watchers = function() { + let el = $('section[tg-watchers]'); + + let obj = { + el: el, + + addWatcher: function() { + el.$('.add-watcher').click(); + }, + + getWatchersUserNames: function() { + return el.$$('.watcher-name span').getText(); + }, + + removeAllWathchers: async function() { + let deleteIcons = await el.$$('.icon-delete') + let totalWatchers = deleteIcons.length; + + while (totalWatchers > 0) { + el.$$('.icon-delete').first().click() + await utils.lightbox.confirm.ok(); + await browser.waitForAngular(); + totalWatchers --; + } + } + }; + + return obj; +}; + +helper.watchersLightbox = function() { + let el = $('div[tg-lb-watchers]'); + + let obj = { + el: el, + waitOpen: function() { + return utils.lightbox.open(el); + }, + waitClose: function() { + return utils.lightbox.close(el); + }, + selectFirst: async function() { + el.$$('div[data-user-id]').first().click(); + await browser.waitForAngular(); + } + + }; + + return obj; +}; diff --git a/e2e/utils/detail.js b/e2e/utils/detail.js index 30189693..267d8d91 100644 --- a/e2e/utils/detail.js +++ b/e2e/utils/detail.js @@ -148,3 +148,23 @@ helper.deleteTesting = async function() { let deleteHelper = detailHelper.delete(); await deleteHelper.delete(); } + +helper.watchersTesting = async function() { + let watchersHelper = detailHelper.watchers(); + let watchersLightboxHelper = detailHelper.watchersLightbox(); + let userNames = await watchersHelper.getWatchersUserNames(); + + //Add watcher + watchersHelper.addWatcher(); + watchersLightboxHelper.waitOpen(); + watchersLightboxHelper.selectFirst(); + watchersLightboxHelper.waitClose(); + + let newUserNames = await watchersHelper.getWatchersUserNames(); + expect(newUserNames.join()).to.be.equal(userNames + ',Administrator'); + + //Clear watchers + await watchersHelper.removeAllWathchers(); + newUserNames = await watchersHelper.getWatchersUserNames(); + expect(newUserNames.join()).to.be.equal(''); +}