From 22f8b16b87a31ae8d5b1ff78b1cad2099ae4b7e8 Mon Sep 17 00:00:00 2001 From: Juanfran Date: Fri, 9 Oct 2015 13:58:18 +0200 Subject: [PATCH] fix some e2e tests at IE --- app/coffee/modules/common/loading.coffee | 2 +- app/coffee/modules/search.coffee | 19 ++++++---- app/styles/layout/admin-memberships.scss | 6 +++ app/styles/modules/admin/admin-roles.scss | 4 ++ .../modules/common/category-config.scss | 6 +++ conf.e2e.js | 4 +- e2e/full/admin/integrations/webhooks.e2e.js | 2 - e2e/full/admin/members.e2e.js | 6 ++- e2e/full/search.e2e.js | 6 ++- .../user-profile/edit-user-profile.e2e.js | 38 +++++++++---------- e2e/helpers/admin-integrations.js | 6 +-- 11 files changed, 61 insertions(+), 38 deletions(-) diff --git a/app/coffee/modules/common/loading.coffee b/app/coffee/modules/common/loading.coffee index e2c0de6e..20e8d3ea 100644 --- a/app/coffee/modules/common/loading.coffee +++ b/app/coffee/modules/common/loading.coffee @@ -91,7 +91,7 @@ LoadingDirective = ($loading) -> currentLoading = $loading() .target($el) .start() - else + else if currentLoading currentLoading.finish() return { diff --git a/app/coffee/modules/search.coffee b/app/coffee/modules/search.coffee index 8a2ce080..6e5241df 100644 --- a/app/coffee/modules/search.coffee +++ b/app/coffee/modules/search.coffee @@ -67,12 +67,13 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin) @scope.searchTerm = "" loadSearchData = debounceLeading(100, (t) => @.loadSearchData(t)) - @scope.$watch "searchTerm", (term) => - if term - @scope.loading = true + bindOnce @scope, "projectId", (projectId) => + if !@scope.searchResults + @.loadSearchData() - @.loadSearchData(term).then () => - @scope.loading = false + @scope.$watch "searchTerm", (term) => + if term != undefined && @scope.projectId + @.loadSearchData(term) loadFilters: -> defered = @q.defer() @@ -90,9 +91,13 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin) @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id) return project - loadSearchData: (term) -> + loadSearchData: (term = "") -> + @scope.loading = true + promise = @rs.search.do(@scope.projectId, term).then (data) => @scope.searchResults = data + @scope.loading = false + return data return promise @@ -244,7 +249,7 @@ SearchDirective = ($log, $compile, $templatecache, $routeparams, $location) -> markSectionTabActive(activeSection) $scope.$watch "searchTerm", (searchTerm) -> - $location.search("text", searchTerm) if searchTerm + $location.search("text", searchTerm) if searchTerm != undefined $el.on "click", ".search-filter li > a", (event) -> event.preventDefault() diff --git a/app/styles/layout/admin-memberships.scss b/app/styles/layout/admin-memberships.scss index d32e7c43..7d7ad3c4 100644 --- a/app/styles/layout/admin-memberships.scss +++ b/app/styles/layout/admin-memberships.scss @@ -5,4 +5,10 @@ float: right; } } + .check { + input { // IE needs smaller size + height: 40px; + width: 85px; + } + } } diff --git a/app/styles/modules/admin/admin-roles.scss b/app/styles/modules/admin/admin-roles.scss index ec2049c8..a9d4ecdc 100644 --- a/app/styles/modules/admin/admin-roles.scss +++ b/app/styles/modules/admin/admin-roles.scss @@ -45,6 +45,10 @@ padding-bottom: 2rem; .check { margin-left: .5rem; + input { // IE needs smaller size + height: 40px; + width: 85px; + } } } } diff --git a/app/styles/modules/common/category-config.scss b/app/styles/modules/common/category-config.scss index f3341d81..d0a29f25 100644 --- a/app/styles/modules/common/category-config.scss +++ b/app/styles/modules/common/category-config.scss @@ -58,4 +58,10 @@ border-bottom: 0; } } + .check { + input { // IE needs smaller size + height: 40px; + width: 85px; + } + } } diff --git a/conf.e2e.js b/conf.e2e.js index e5682b17..2bb1da28 100644 --- a/conf.e2e.js +++ b/conf.e2e.js @@ -6,11 +6,11 @@ var utils = require('./e2e/utils'); var HtmlReporter = require('protractor-html-screenshot-reporter'); exports.config = { - seleniumAddress: 'http://localhost:4444/wd/hub', + seleniumAddress: 'http://10.8.1.194:4444/wd/hub', framework: 'mocha', params: { glob: { - host: 'http://localhost:9001/', + host: 'http://10.8.1.153:9001/', attachments: { unix: './upload-file-test.txt', windows: 'C:\\test\\upload-file-test.txt', diff --git a/e2e/full/admin/integrations/webhooks.e2e.js b/e2e/full/admin/integrations/webhooks.e2e.js index 92b5d026..1833faaa 100644 --- a/e2e/full/admin/integrations/webhooks.e2e.js +++ b/e2e/full/admin/integrations/webhooks.e2e.js @@ -52,8 +52,6 @@ describe('admin - webhooks', function() { await adminIntegrationsHelper.saveWebHook('111', 'http://web2.fake', '333'); - await browser.sleep(4000); - let webHookMode = await adminIntegrationsHelper.getWebHookMode(); expect(webHookMode).to.be.equal('read'); diff --git a/e2e/full/admin/members.e2e.js b/e2e/full/admin/members.e2e.js index 165ce1e8..08a875a0 100644 --- a/e2e/full/admin/members.e2e.js +++ b/e2e/full/admin/members.e2e.js @@ -96,6 +96,7 @@ describe('admin - members', function() { //prevent change to the same value adminMembershipsHelper.setRole(member, 1); + adminMembershipsHelper.setRole(member, 3); adminMembershipsHelper.setRole(member, 2); expect(utils.notifications.success.open()).to.be.eventually.true; @@ -114,13 +115,14 @@ describe('admin - members', function() { }); it('toggle admin', async function() { - let member = adminMembershipsHelper.getMembers().last(); + let member = adminMembershipsHelper.getMembers().get(1); let isAdmin = await adminMembershipsHelper.isAdmin(member); if (isAdmin) { adminMembershipsHelper.toggleAdmin(member); - await browser.waitForAngular(); + await utils.notifications.success.open(); + isAdmin = await adminMembershipsHelper.isAdmin(member); expect(isAdmin).not.to.be.true; diff --git a/e2e/full/search.e2e.js b/e2e/full/search.e2e.js index f8de7e34..8b3da4fc 100644 --- a/e2e/full/search.e2e.js +++ b/e2e/full/search.e2e.js @@ -83,15 +83,17 @@ describe('search page', function() { it('change current tab content on typing in the right column', async function() { let text = await $$('.table-main').get(0).$('a').getText(); + let htmlChanges = await utils.common.outerHtmlChanges('.search-result-table-body'); + let initialCount = await $$('.table-main').count(); let searchTerm = element(by.model('searchTerm')); - searchTerm.clear(); + await searchTerm.clear(); await searchTerm.sendKeys(text); - await browser.waitForAngular(); + await htmlChanges(); let count = await $$('.table-main').count(); diff --git a/e2e/full/user-profile/edit-user-profile.e2e.js b/e2e/full/user-profile/edit-user-profile.e2e.js index 4026ec6f..c6202232 100644 --- a/e2e/full/user-profile/edit-user-profile.e2e.js +++ b/e2e/full/user-profile/edit-user-profile.e2e.js @@ -42,25 +42,6 @@ describe('edit user profile', function() { await utils.lightbox.close(lb); }); - it('edit avatar', async function() { - let inputFile = $('#avatar-field'); - - let imageContainer = $('.image-container'); - - let htmlChanges = await utils.common.outerHtmlChanges(imageContainer); - var fileToUpload = utils.common.uploadImagePath(); - - await utils.common.uploadFile(inputFile, fileToUpload); - - await htmlChanges(); - - let avatar = imageContainer.$('.avatar'); - - let src = await avatar.getAttribute('src'); - - expect(src).to.contains('upload-image-test.png'); - }); - it('edit lenguage', async function() { // english $('#lang option:nth-child(4)').click(); @@ -91,4 +72,23 @@ describe('edit user profile', function() { await utils.notifications.success.open(); }); + + it('edit avatar', async function() { + let inputFile = $('#avatar-field'); + + let imageContainer = $('.image-container'); + + let htmlChanges = await utils.common.outerHtmlChanges(imageContainer); + var fileToUpload = utils.common.uploadImagePath(); + + await utils.common.uploadFile(inputFile, fileToUpload); + + await htmlChanges(); + + let avatar = imageContainer.$('.avatar'); + + let src = await avatar.getAttribute('src'); + + expect(src).to.contains('upload-image-test.png'); + }); }); diff --git a/e2e/helpers/admin-integrations.js b/e2e/helpers/admin-integrations.js index 63b9d603..c883bb88 100644 --- a/e2e/helpers/admin-integrations.js +++ b/e2e/helpers/admin-integrations.js @@ -5,9 +5,9 @@ var helper = module.exports; helper.saveWebHook = async function(name, email, key) { let inputs = $$('input[type="text"]'); - await utils.common.clear(inputs.get(0)); - await utils.common.clear(inputs.get(1)); - await utils.common.clear(inputs.get(2)); + await inputs.get(0).clear(); + await inputs.get(1).clear(); + await inputs.get(2).clear(); await inputs.get(0).sendKeys(name); await inputs.get(1).sendKeys(email);