Files
alfresco-ng2-components/e2e/pages/adf/process_services/tasksPage.js
Eugenio Romano 3d86044594 Add e2e test in ADF main repo (#3534)
* move e2e to ADF main repo

* lint e2e test

* enable first set of tests

* enable test

* firs test js-api integrated

* try change name protractor demo shell file

* remove fdescribe

* Update .travis.yml

* exclude failing test and rewrite analytics component with JS-API

* remove fdescribe

* move first part of tests to js-api

* refactor test alfresco-js-api

* replace js-api step 3

* remove adf prefix

* remove unused code

* remove unused part 2

* add option in e2e test for single test and browser

* exclude temp failing test

* refactoring test step 1

* refactoring test step 2

* refactoring test step 3

* refactoring test step 4

* refactoring test step 5

* run against localhost and proxy options

* fix command

* improve configuration

* improve configuration

* use dev configuratio

* fix defering

* comment out not working remotely test

* fix promise login page e2e

* remove console log

* change test

* revert

* improve utils

* improve task list test
util add also numbers in generation of the email

* remove part of the multi selector

* reinsert trashcan test

* uncomment document list test

* try increase delay in search sorting

* improve document list selector

* execute different util methods

* Upload error screenshot

* make oncomplete async

* add z-finish screenshot workaround

* option save

* remove fit
2018-08-14 15:42:14 +01:00

114 lines
3.6 KiB
JavaScript

/*!
* @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.
*/
var Util = require('../../../util/util');
var StartTaskDialog = require('./dialog/startTaskDialog');
var FormFields = require('./formFields');
var TaskDetails = require('./taskDetailsPage');
var FiltersPage = require('./filtersPage');
var ChecklistDialog = require('./dialog/createChecklistDialog');
var TasksListPage = require('./tasksListPage');
var TasksPage = function () {
var createButton = element(by.css("button[data-automation-id='create-button']"));
var newTaskButton = element(by.css("button[data-automation-id='btn-start-task']"));
var addChecklistButton = element(by.css("button[class*='adf-add-to-checklist-button']"));
var rowByRowName = by.xpath("ancestor::mat-chip");
var checklistContainer = by.css("div[class*='checklist-menu']");
var taskTitle = "h2[class='activiti-task-details__header'] span";
var rows = by.css("div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[class*='adf-data-table-cell']");
this.createNewTask = function () {
this.createButtonIsDisplayed();
this.clickOnCreateButton();
this.newTaskButtonIsDisplayed();
newTaskButton.click();
return new StartTaskDialog();
};
this.createButtonIsDisplayed = function() {
Util.waitUntilElementIsVisible(createButton);
return this;
};
this.newTaskButtonIsDisplayed = function() {
Util.waitUntilElementIsVisible(newTaskButton);
return this;
};
this.clickOnCreateButton = function() {
Util.waitUntilElementIsClickable(createButton);
createButton.click();
return this;
};
this.usingFormFields = function () {
return new FormFields();
};
this.usingTaskDetails = function () {
return new TaskDetails();
};
this.usingFiltersPage = function () {
return new FiltersPage();
};
this.usingTasksListPage = function () {
return new TasksListPage();
};
this.clickOnAddChecklistButton = function () {
Util.waitUntilElementIsClickable(addChecklistButton);
addChecklistButton.click();
return new ChecklistDialog();
};
this.getRowsName = function (name) {
var row = element(checklistContainer).element(by.cssContainingText("span", name));
Util.waitUntilElementIsVisible(row);
return row;
};
this.getChecklistByName = function (checklist) {
var row = this.getRowsName(checklist).element(rowByRowName);
Util.waitUntilElementIsVisible(row);
return row;
};
this.checkChecklistIsDisplayed = function (checklist) {
Util.waitUntilElementIsVisible(this.getChecklistByName(checklist));
return this;
};
this.checkTaskTitle = function(taskName) {
Util.waitUntilElementIsVisible(element(by.css(taskTitle)));
var title = element(by.cssContainingText(taskTitle, taskName));
Util.waitUntilElementIsVisible(title);
return this;
};
this.getAllDisplayedRows= function(){
return element.all(rows).count();
};
};
module.exports = TasksPage;