diff --git a/demo-shell/src/app/components/datatable/datatable.component.html b/demo-shell/src/app/components/datatable/datatable.component.html index efbbcc1a5d..4c74d33a91 100644 --- a/demo-shell/src/app/components/datatable/datatable.component.html +++ b/demo-shell/src/app/components/datatable/datatable.component.html @@ -1,5 +1,5 @@ - + { @@ -45,15 +45,15 @@ describe('Datatable component - selection', () => { done(); }); - it('1. Data Table Selection Modes', () => { + it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => { dataTablePage.selectRow('2'); dataTablePage.checkRowIsSelected('2'); - dataTablePage.getNumberOfSelectedRows().then(function (result) { + dataTablePage.getNumberOfSelectedRows().then((result) => { expect(result).toEqual(1); }); dataTablePage.selectRow('3'); dataTablePage.checkRowIsSelected('3'); - dataTablePage.getNumberOfSelectedRows().then(function (result) { + dataTablePage.getNumberOfSelectedRows().then((result) => { expect(result).toEqual(1); }); dataTablePage.selectSelectionMode('Multiple'); @@ -69,7 +69,7 @@ describe('Datatable component - selection', () => { dataTablePage.checkNoRowIsSelected(); }); - it('2. Data Table allows the multiselection of rows', () => { + it('[C260059] Should be possible select multiple row when multiselect is true', () => { dataTablePage.clickMultiSelect(); dataTablePage.clickCheckbox('1'); dataTablePage.checkRowIsChecked('1'); @@ -82,11 +82,20 @@ describe('Datatable component - selection', () => { dataTablePage.checkRowIsChecked('1'); }); - it('3. Can select all in data table', () => { + it('[C260058] Should be possible select all the rows when multiselect is true', () => { dataTablePage.checkAllRows(); dataTablePage.checkRowIsChecked('1'); dataTablePage.checkRowIsChecked('2'); dataTablePage.checkRowIsChecked('3'); dataTablePage.checkRowIsChecked('4'); }); + + it('[C277262] Should be possible reset the selected row when click on the reset button', () => { + dataTablePage.checkRowIsChecked('1'); + dataTablePage.checkRowIsChecked('2'); + dataTablePage.checkRowIsChecked('3'); + dataTablePage.checkRowIsChecked('4'); + dataTablePage.clickReset(); + dataTablePage.checkNoRowIsSelected(); + }); }); diff --git a/e2e/data-table-component.e2e.ts b/e2e/datatable/data-table-component.e2e.ts similarity index 65% rename from e2e/data-table-component.e2e.ts rename to e2e/datatable/data-table-component.e2e.ts index 2fb099dfee..bd9a4ea4b5 100644 --- a/e2e/data-table-component.e2e.ts +++ b/e2e/datatable/data-table-component.e2e.ts @@ -15,10 +15,10 @@ * limitations under the License. */ -import LoginPage = require('./pages/adf/loginPage.js'); -import DataTablePage = require('./pages/adf/dataTablePage.js'); -import AcsUserModel = require('./models/ACS/acsUserModel.js'); -import TestConfig = require('./test.config.js'); +import LoginPage = require('../pages/adf/loginPage.js'); +import DataTablePage = require('../pages/adf/dataTablePage.js'); +import AcsUserModel = require('../models/ACS/acsUserModel.js'); +import TestConfig = require('../test.config.js'); import AlfrescoApi = require('alfresco-js-api-node'); @@ -45,8 +45,8 @@ describe('Datatable component', () => { done(); }); - it('1. DataTable allows extra rows to be added', () => { - dataTablePage.getNumberOfRows().then(function (result) { + it('[C91314] Should be possible add new row to the table', () => { + dataTablePage.getNumberOfRows().then((result) => { dataTablePage.addRow(); expect(dataTablePage.getNumberOfRows()).toEqual(result + 1); dataTablePage.addRow(); @@ -54,12 +54,20 @@ describe('Datatable component', () => { }); }); - it('2. Data Table can replace rows', () => { + it('[C260039] Should be possible replace rows', () => { dataTablePage.replaceRows(1); }); - it('3. Data Table can replace columns', () => { + it('[C260041] Should be possible replace columns', () => { dataTablePage.replaceColumns(); }); + it('[C277314] Should filter the table rows when the input filter is passed', () => { + expect(dataTablePage.getNumberOfRows()).toEqual(5); + dataTablePage.insertFilter('Name'); + expect(dataTablePage.getNumberOfRows()).toEqual(4); + dataTablePage.insertFilter('I'); + expect(dataTablePage.getNumberOfRows()).toEqual(2); + }); + }); diff --git a/e2e/pages/adf/dataTablePage.js b/e2e/pages/adf/dataTablePage.js index 806c067aef..dffc83c258 100644 --- a/e2e/pages/adf/dataTablePage.js +++ b/e2e/pages/adf/dataTablePage.js @@ -30,6 +30,7 @@ var DataTablePage = function () { var list = element.all(by.css("div[class*=adf-datatable-row]")); var addRow = element(by.xpath("//span[contains(text(),'Add row')]/..")); var replaceRows = element(by.xpath("//span[contains(text(),'Replace rows')]/..")); + var reset = element(by.xpath("//span[contains(text(),'Reset to default')]/..")); var replaceColumns = element(by.xpath("//span[contains(text(),'Replace columns')]/..")); var loadNode = element(by.xpath("//span[contains(text(),'Load Node')]/..")); var createdOnColumn = element(by.css("div[data-automation-id='auto_id_createdOn']")); @@ -47,8 +48,8 @@ var DataTablePage = function () { * @param rowNumber */ this.getRowByRowNumber = function (rowNumber) { - Util.waitUntilElementIsVisible(element(by.css("div[data-automation-id='text_" + rowNumber +"']"))); - return element(by.css("div[data-automation-id='text_" + rowNumber +"']")); + Util.waitUntilElementIsVisible(element(by.css("div[data-automation-id='text_" + rowNumber + "']"))); + return element(by.css("div[data-automation-id='text_" + rowNumber + "']")); }; /** @@ -61,19 +62,26 @@ var DataTablePage = function () { }; /** - * Click multiselect option - * @property clickMultiSelect - * */ + * Click multiselect option + * */ this.clickMultiSelect = function () { Util.waitUntilElementIsVisible(multiSelect); multiSelect.click(); }; /** - * Click specific checkbox in row - * @method clickCheckbox - * @param {String} row number - */ + * Click reset option + * */ + this.clickReset = function () { + Util.waitUntilElementIsVisible(reset); + reset.click(); + }; + + /** + * Click specific checkbox in row + * @method clickCheckbox + * @param {String} row number + */ this.clickCheckbox = function (rowNumber) { var checkbox = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label")); Util.waitUntilElementIsVisible(checkbox); @@ -81,29 +89,29 @@ var DataTablePage = function () { }; /** - * Select a specific row - * @method selectRow - * @param {String} row number - */ + * Select a specific row + * @method selectRow + * @param {String} row number + */ this.selectRow = function (rowNumber) { return this.getRowByRowNumber(rowNumber).click(); }; /** - * Select a specific row using command key - * @method selectRow - * @param {String} row number - */ + * Select a specific row using command key + * @method selectRow + * @param {String} row number + */ this.selectRowWithKeyboard = function (rowNumber) { var row = this.getRowByRowNumber(rowNumber); browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform(); }; /** - * Select a specific selection mode - * @method selectSelectionMode - * @param {String} selection mode - */ + * Select a specific selection mode + * @method selectSelectionMode + * @param {String} selection mode + */ this.selectSelectionMode = function (selectionMode) { var selectMode = element(by.cssContainingText("span[class='mat-option-text']", selectionMode)); selectionButton.click(); @@ -112,29 +120,29 @@ var DataTablePage = function () { }; /** - * Check if a specific row is selected - * @method checkRowIsSelected - * @param {String} row number - */ + * Check if a specific row is selected + * @method checkRowIsSelected + * @param {String} row number + */ this.checkRowIsSelected = function (rowNumber) { var isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'is-selected')]")); Util.waitUntilElementIsVisible(isRowSelected); }; /** - * Check if a specific row is not selected - * @method checkRowIsNotSelected - * @param {String} row number - */ + * Check if a specific row is not selected + * @method checkRowIsNotSelected + * @param {String} row number + */ this.checkRowIsNotSelected = function (rowNumber) { var isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]")); Util.waitUntilElementIsNotOnPage(isRowSelected); }; /** - * Check no row is selected - * @method checkNoRowIsSelected - */ + * Check no row is selected + * @method checkNoRowIsSelected + */ this.checkNoRowIsSelected = function () { Util.waitUntilElementIsNotOnPage(selectedRowNumber); }; @@ -145,19 +153,19 @@ var DataTablePage = function () { }; /** - * Check specfic row is checked - * @method checkRowIsChecked - * @param {String} row number - */ + * Check specfic row is checked + * @method checkRowIsChecked + * @param {String} row number + */ this.checkRowIsChecked = function (rowNumber) { Util.waitUntilElementIsVisible(this.getRowCheckbox(rowNumber)); }; /** - * Check specfic row is not checked - * @method checkRowIsNotChecked - * @param {String} row number - */ + * Check specfic row is not checked + * @method checkRowIsNotChecked + * @param {String} row number + */ this.checkRowIsNotChecked = function (rowNumber) { Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(rowNumber)); }; @@ -188,10 +196,10 @@ var DataTablePage = function () { }; /** - * replace rows - * @method replaceRows - * @param {String} id - */ + * replace rows + * @method replaceRows + * @param {String} id + */ this.replaceRows = function (id) { var rowID = this.getRowByRowNumber(id); Util.waitUntilElementIsVisible(rowID); @@ -200,9 +208,9 @@ var DataTablePage = function () { }; /** - * replace columns - * @method replaceColumns - */ + * replace columns + * @method replaceColumns + */ this.replaceColumns = function () { Util.waitUntilElementIsVisible(replaceColumns); replaceColumns.click(); @@ -210,9 +218,9 @@ var DataTablePage = function () { }; /** - * check the nodeID is the same with the userHome folder's ID - * @method replaceColumns - */ + * check the nodeID is the same with the userHome folder's ID + * @method replaceColumns + */ this.checkLoadNode = function (userHome) { var nodeId = element(by.css("div[data-automation-id*='" + userHome + "']")); @@ -221,7 +229,7 @@ var DataTablePage = function () { Util.waitUntilElementIsVisible(nodeId, 10000); }; - this.navigateToContent = function(content) { + this.navigateToContent = function (content) { var row = this.getRowByRowName(content); Util.waitUntilElementIsPresent(row); row.click(); @@ -242,9 +250,15 @@ var DataTablePage = function () { return this.getRowsName(content).element(rowByRowName); }; - this.waitForTableBody = function (){ + this.waitForTableBody = function () { Util.waitUntilElementIsVisible(tableBody); }; + this.insertFilter = function (filterText) { + var inputFilter = element(by.xpath("//*[@id=\"adf-datatable-filter-input\"]")); + inputFilter.clear(); + return inputFilter.sendKeys(filterText); + }; + }; module.exports = DataTablePage; diff --git a/e2e/process_attachmentList_actionMenu.e2e.ts b/e2e/process_attachmentList_actionMenu.e2e.ts index 3dee6f978a..bd2092eb57 100644 --- a/e2e/process_attachmentList_actionMenu.e2e.ts +++ b/e2e/process_attachmentList_actionMenu.e2e.ts @@ -31,8 +31,8 @@ import Util = require('./util/util.js'); import path = require('path'); import AlfrescoApi = require('alfresco-js-api-node'); -import {UsersActions} from './actions/users.actions'; -import {AppsActions} from './actions/APS/apps.actions'; +import { UsersActions } from './actions/users.actions'; +import { AppsActions } from './actions/APS/apps.actions'; import FileModel = require('./models/ACS/fileModel'); describe('Attachment list action menu for processes', () => { diff --git a/e2e/start_process_component.e2e.ts b/e2e/start_process_component.e2e.ts index b06eb613c0..9ed5becbf3 100644 --- a/e2e/start_process_component.e2e.ts +++ b/e2e/start_process_component.e2e.ts @@ -26,7 +26,7 @@ import StartProcessPage = require('./pages/adf/process_services/startProcessPage import ProcessFiltersPage = require('./pages/adf/process_services/processFiltersPage'); import AppNavigationBarPage = require('./pages/adf/process_services/appNavigationBarPage'); import ProcessDetailsPage = require('./pages/adf/process_services/processDetailsPage'); -import {AttachmentListPage} from './pages/adf/process_services/attachmentListPage'; +import { AttachmentListPage } from './pages/adf/process_services/attachmentListPage'; import User = require('./models/APS/User'); import AppPublish = require('./models/APS/AppPublish'); diff --git a/e2e/start_task_custom_app.e2e.ts b/e2e/start_task_custom_app.e2e.ts index 11dccb1f03..eef0a38929 100644 --- a/e2e/start_task_custom_app.e2e.ts +++ b/e2e/start_task_custom_app.e2e.ts @@ -18,7 +18,7 @@ import LoginPage = require('./pages/adf/loginPage'); import ProcessServicesPage = require('./pages/adf/process_services/processServicesPage'); import TasksPage = require('./pages/adf/process_services/tasksPage'); -import {AttachmentListPage} from './pages/adf/process_services/attachmentListPage'; +import { AttachmentListPage } from './pages/adf/process_services/attachmentListPage'; import CONSTANTS = require('./util/constants'); import Task = require('./models/APS/Task'); diff --git a/e2e/start_task_task_app.e2e.ts b/e2e/start_task_task_app.e2e.ts index 0b13b98e6f..b76fe6c4d4 100644 --- a/e2e/start_task_task_app.e2e.ts +++ b/e2e/start_task_task_app.e2e.ts @@ -18,7 +18,7 @@ import LoginPage = require('./pages/adf/loginPage'); import ProcessServicesPage = require('./pages/adf/process_services/processServicesPage'); import TasksPage = require('./pages/adf/process_services/tasksPage'); -import {AttachmentListPage} from './pages/adf/process_services/attachmentListPage'; +import { AttachmentListPage } from './pages/adf/process_services/attachmentListPage'; import CONSTANTS = require('./util/constants'); diff --git a/e2e/tag_component.e2e.ts b/e2e/tag_component.e2e.ts index 3945713668..736b35bd1c 100644 --- a/e2e/tag_component.e2e.ts +++ b/e2e/tag_component.e2e.ts @@ -124,14 +124,13 @@ describe('Tag component', () => { tagPage.checkTagIsDisplayedInTagList(digitsTag); tagPage.checkTagIsDisplayedInTagListByNodeId(digitsTag); - tagPage.insertNodeId(pdfFileModel.id) + tagPage.insertNodeId(pdfFileModel.id); tagPage.addTag(nonLatinTag); tagPage.checkTagIsDisplayedInTagList(nonLatinTag); tagPage.checkTagIsDisplayedInTagListByNodeId(nonLatinTag); }); - it('[C260375] Delete tag', () => { let deleteTag = Util.generateRandomStringToUpperCase();