From 9f00c923e9de29189fe4ebb5c616ef964366e853 Mon Sep 17 00:00:00 2001 From: Marouan Bentaleb <38426175+marouanbentaleb@users.noreply.github.com> Date: Fri, 14 Sep 2018 12:50:40 +0100 Subject: [PATCH] [ADF-3557] Automated test for removing search filter using chip remove button (#3790) --- e2e/content-services/search_filters.e2e.ts | 90 +++++++++++++++++++++ e2e/pages/adf/searchFiltersPage.js | 14 ++++ e2e/resources/apps/Dynamic Table App.zip | Bin 0 -> 5618 bytes 3 files changed, 104 insertions(+) create mode 100644 e2e/content-services/search_filters.e2e.ts create mode 100644 e2e/resources/apps/Dynamic Table App.zip diff --git a/e2e/content-services/search_filters.e2e.ts b/e2e/content-services/search_filters.e2e.ts new file mode 100644 index 0000000000..bc0b3db9e4 --- /dev/null +++ b/e2e/content-services/search_filters.e2e.ts @@ -0,0 +1,90 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import LoginPage = require('../pages/adf/loginPage'); +import SearchDialog = require('../pages/adf/dialog/searchDialog'); +import SearchFiltersPage = require('../pages/adf/searchFiltersPage'); + +import AcsUserModel = require('../models/ACS/acsUserModel'); +import FileModel = require('../models/ACS/fileModel'); + +import TestConfig = require('../test.config'); +import Util = require('../util/util'); + +import AlfrescoApi = require('alfresco-js-api-node'); +import { UploadActions } from '../actions/ACS/upload.actions'; +import { browser } from 'protractor'; + +describe('Search Filters', () => { + + let loginPage = new LoginPage(); + let searchDialog = new SearchDialog(); + let searchFiltersPage = new SearchFiltersPage(); + let uploadActions = new UploadActions(); + + let acsUser = new AcsUserModel(); + + let filename = Util.generateRandomString(16); + + let fileModel = new FileModel({ + 'name': filename, 'shortName': filename.substring(0, 8) + }); + let fileUploaded; + + beforeAll(async (done) => { + + this.alfrescoJsApi = new AlfrescoApi({ + provider: 'ECM', + hostEcm: TestConfig.adf.url + }); + + await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); + + await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); + + await this.alfrescoJsApi.login(acsUser.id, acsUser.password); + + fileUploaded = await uploadActions.uploadFile(this.alfrescoJsApi, fileModel.location, fileModel.name, '-my-'); + + loginPage.loginToContentServicesUsingUserModel(acsUser); + + await browser.driver.sleep(15000); // wait search index previous file/folder uploaded + + searchDialog.checkSearchIconIsVisible(); + searchDialog.clickOnSearchIcon(); + searchDialog.enterTextAndPressEnter(fileUploaded.entry.name); + + searchFiltersPage.checkSearchFiltersIsDisplayed(); + + done(); + }); + + afterAll(async (done) => { + await this.alfrescoJsApi.login(acsUser.id, acsUser.password); + + await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, fileUploaded.entry.id); + + done(); + }); + + it('[C286298] Should be able to cancel a filter using "x" button from the toolbar', () => { + searchFiltersPage.filterByCreator(acsUser.firstName, acsUser.lastName); + searchFiltersPage.checkCreatorChipIsDisplayed(acsUser.firstName, acsUser.lastName); + searchFiltersPage.removeCreatorFilter(acsUser.firstName, acsUser.lastName); + searchFiltersPage.checkCreatorChipIsNotDisplayed(acsUser.firstName, acsUser.lastName); + }); +}); diff --git a/e2e/pages/adf/searchFiltersPage.js b/e2e/pages/adf/searchFiltersPage.js index 1f20a1ae80..692d86e1b9 100644 --- a/e2e/pages/adf/searchFiltersPage.js +++ b/e2e/pages/adf/searchFiltersPage.js @@ -94,5 +94,19 @@ var SearchFiltersPage = function () { this.searchInCreatorFilter(`${creatorFirstName} ${creatorLastName}`); this.selectCreator(`${creatorFirstName} ${creatorLastName}`); }; + + this.removeCreatorFilter = function (creatorFirstName, creatorLastName) { + let cancelChipButton = element(by.cssContainingText('mat-chip',` ${creatorFirstName} ${creatorLastName} `)).element(by.css('mat-icon')); + Util.waitUntilElementIsClickable(cancelChipButton); + return cancelChipButton.click(); + }; + + this.checkCreatorChipIsDisplayed = function (creatorFirstName, creatorLastName) { + return Util.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip',` ${creatorFirstName} ${creatorLastName} `)).element(by.css('mat-icon'))); + }; + + this.checkCreatorChipIsNotDisplayed = function (creatorFirstName, creatorLastName) { + return Util.waitUntilElementIsNotOnPage(element(by.cssContainingText('mat-chip',` ${creatorFirstName} ${creatorLastName} `)).element(by.css('mat-icon'))); + }; }; module.exports = SearchFiltersPage; diff --git a/e2e/resources/apps/Dynamic Table App.zip b/e2e/resources/apps/Dynamic Table App.zip new file mode 100644 index 0000000000000000000000000000000000000000..1201c90a7b41cd61e125a42e22b5783a1e23128a GIT binary patch literal 5618 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 a|0&+jN56Grx}e=geKt|=;eh1k*S`QD6AeB9 literal 0 HcmV?d00001