mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
* upgrade to HttpClient * upgrade to Renderer2 * upgrade Document reference * remove useless test with deprecated ReflectiveInjector * upgrade to latest typescript * upgrade libs * upgrade package scripts * remove rxjs blacklists and duplicate rules * add rxjs compat to help with migration * fix breaking changes * fix breaking changes in material * fix breaking changes (material 6) * upgrade rxjs, ngx-translate and flex layout * update unit tests * restore providers * upgrade deprecated Observable.error * rebase fix first configuration problems * fix style issues commented * fix core build * fix lib template errors * move lib test execution in angular.json * ignore * karma conf files * fix import statement test * single run option * update packages reporter * restore report * increase timeout * improve karma conf test configuration * fix test issues about lint * fix test analytics * fix process service test * content service fix test * fix logout directive test * fix core test * fix build * update node-sass to latest * update angular cli dependencies * improve build script create directorites and move files only if previous command succeded * upgrade individual libs to 6.0 * remove old webpack files * revert sass change * fix type issues fix style issues * fix tslint demo shell issue * fix peerdependencies * fix test e2e BC * package upate * fix style import issue * extract-text-webpack-plugin beta * fix test dist build command * remove alpha js-api * fix tslint issue add banner tslint rule * upload service fix * change BC script * fix test dist script * increase demo shell timeout test * verbose copy * path absolute * fix script bc * fix copy part * fix path warning fix monaco editor * remove duplicate header * remove unused import * fix align and check ago tests * add missing import * fix notification button selector * [ANGULAR6] fixed core tests * fix CS test * fix cs test step 2 * increase travis_wait for dist * fix attachment PS * fix checklist test * use pdf min
169 lines
5.6 KiB
JavaScript
169 lines
5.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']");
|
|
var completeButtonNoForm = element(by.id("adf-no-form-complete-button"));
|
|
var checklistDialog = element(by.id("checklist-dialog"));
|
|
var checklistNoMessage = element(by.id("checklist-none-message"));
|
|
var numberOfChecklists = element(by.css("[data-automation-id='checklist-label'] mat-chip"));
|
|
|
|
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.usingCheckListDialog = function () {
|
|
return new ChecklistDialog();
|
|
};
|
|
|
|
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.checkChecklistIsNotDisplayed = function (checklist) {
|
|
Util.waitUntilElementIsNotOnPage(element(checklistContainer).element(by.cssContainingText("span", 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();
|
|
};
|
|
|
|
this.completeTaskNoForm = function () {
|
|
Util.waitUntilElementIsClickable(completeButtonNoForm);
|
|
completeButtonNoForm.click();
|
|
};
|
|
|
|
this.completeTaskNoFormNotDisplayed = function () {
|
|
Util.waitUntilElementIsNotOnPage(completeButtonNoForm);
|
|
return this;
|
|
};
|
|
|
|
this.checkChecklistDialogIsDisplayed = function () {
|
|
Util.waitUntilElementIsVisible(checklistDialog);
|
|
return this;
|
|
};
|
|
|
|
this.checkChecklistDialogIsNotDisplayed = function () {
|
|
Util.waitUntilElementIsNotOnPage(checklistDialog);
|
|
return this;
|
|
};
|
|
|
|
this.checkNoChecklistIsDisplayed = function () {
|
|
Util.waitUntilElementIsVisible(checklistNoMessage);
|
|
return this;
|
|
};
|
|
|
|
this.getNumberOfChecklists = function () {
|
|
Util.waitUntilElementIsVisible(numberOfChecklists);
|
|
return numberOfChecklists.getText();
|
|
};
|
|
|
|
this.removeChecklists = function (checklist) {
|
|
var row = this.getRowsName(checklist).element(rowByRowName);
|
|
Util.waitUntilElementIsVisible(row.element(by.css('button')));
|
|
row.element(by.css('button')).click();
|
|
return this;
|
|
};
|
|
|
|
this.checkChecklistsRemoveButtonIsNotDisplayed = function (checklist) {
|
|
var row = this.getRowsName(checklist).element(rowByRowName);
|
|
Util.waitUntilElementIsNotOnPage(row.element(by.css('button')));
|
|
return this;
|
|
};
|
|
|
|
};
|
|
|
|
module.exports = TasksPage;
|