mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
fix process service e2e
fix viewer core e2e
This commit is contained in:
parent
e6d38a9790
commit
ec19ba6db6
@ -163,18 +163,22 @@ describe('Viewer - properties', () => {
|
||||
it('[C260089] Should Show/Hide info-drawer if allowSidebar true/false', () => {
|
||||
viewerPage.clickInfoButton();
|
||||
|
||||
viewerPage.checkLeftSideBarIsDisplayed();
|
||||
viewerPage.checkInfoSideBarIsDisplayed();
|
||||
|
||||
viewerPage.checkInfoButtonIsDisplayed();
|
||||
viewerPage.checkLeftSideBarButtonIsDisplayed();
|
||||
|
||||
viewerPage.disableAllowSidebar();
|
||||
|
||||
viewerPage.checkInfoButtonIsNotDisplayed();
|
||||
viewerPage.checkLeftSideBarButtonIsNotDisplayed();
|
||||
|
||||
viewerPage.checkLeftSideBarIsNotDisplayed();
|
||||
viewerPage.checkInfoSideBarIsNotDisplayed();
|
||||
});
|
||||
|
||||
it('[C286596] Should Show/Hide left info-drawer if allowLeftSidebar true/false', () => {
|
||||
viewerPage.checkLeftSideBarIsDisplayed();
|
||||
viewerPage.checkLeftSideBarButtonIsDisplayed();
|
||||
|
||||
viewerPage.disableAllowLeftSidebar();
|
||||
|
||||
viewerPage.checkLeftSideBarButtonIsNotDisplayed();
|
||||
viewerPage.checkLeftSideBarIsNotDisplayed();
|
||||
});
|
||||
});
|
||||
|
@ -1,61 +0,0 @@
|
||||
/*!
|
||||
* @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 FormControllersPage = require('../../material/formControllersPage');
|
||||
|
||||
var AppSettingsToggles = function () {
|
||||
|
||||
var formControllersPage = new FormControllersPage();
|
||||
|
||||
var showDetailsHeaderToggle = element(by.id('adf-show-header'));
|
||||
var showTaskFilterIconsToggle = element(by.id('adf-show-task-filter-icon'));
|
||||
var showProcessFilterIconsToggle = element(by.id('adf-show-process-filter-icon'));
|
||||
|
||||
this.enableShowHeader = function () {
|
||||
formControllersPage.enableToggle(showDetailsHeaderToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.disableShowHeader = function () {
|
||||
formControllersPage.disableToggle(showDetailsHeaderToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.enableTaskFiltersIcon = function () {
|
||||
formControllersPage.enableToggle(showTaskFilterIconsToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.disableTaskFiltersIcon = function () {
|
||||
formControllersPage.disableToggle(showTaskFilterIconsToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.enableProcessFiltersIcon = function () {
|
||||
formControllersPage.enableToggle(showProcessFilterIconsToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.disableProcessFiltersIcon = function () {
|
||||
formControllersPage.disableToggle(showProcessFilterIconsToggle);
|
||||
return this;
|
||||
};
|
||||
|
||||
};
|
||||
module.exports = AppSettingsToggles;
|
||||
|
||||
|
58
e2e/pages/adf/process_services/dialog/appSettingsToggles.ts
Normal file
58
e2e/pages/adf/process_services/dialog/appSettingsToggles.ts
Normal file
@ -0,0 +1,58 @@
|
||||
/*!
|
||||
* @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 { FormControllersPage } from '../../material/formControllersPage';
|
||||
|
||||
export class AppSettingsToggles {
|
||||
|
||||
formControllersPage = new FormControllersPage();
|
||||
|
||||
showDetailsHeaderToggle = element(by.id('adf-show-header'));
|
||||
showTaskFilterIconsToggle = element(by.id('adf-show-task-filter-icon'));
|
||||
showProcessFilterIconsToggle = element(by.id('adf-show-process-filter-icon'));
|
||||
|
||||
enableShowHeader() {
|
||||
this.formControllersPage.enableToggle(this.showDetailsHeaderToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
disableShowHeader() {
|
||||
this.formControllersPage.disableToggle(this.showDetailsHeaderToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
enableTaskFiltersIcon() {
|
||||
this.formControllersPage.enableToggle(this.showTaskFilterIconsToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
disableTaskFiltersIcon() {
|
||||
this.formControllersPage.disableToggle(this.showTaskFilterIconsToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
enableProcessFiltersIcon() {
|
||||
this.formControllersPage.enableToggle(this.showProcessFilterIconsToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
disableProcessFiltersIcon() {
|
||||
this.formControllersPage.disableToggle(this.showProcessFilterIconsToggle);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -1,388 +0,0 @@
|
||||
/*!
|
||||
* @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 AppSettingsToggles = require('./dialog/appSettingsToggles');
|
||||
|
||||
var TaskDetailsPage = function () {
|
||||
|
||||
var formNameField = element(by.css("span[data-automation-id*='formName'] span"));
|
||||
var assigneeField = element(by.css("span[data-automation-id*='assignee'] span"));
|
||||
var statusField = element(by.css("span[data-automation-id*='status'] span"));
|
||||
var categoryField = element(by.css("span[data-automation-id*='category'] span"));
|
||||
var parentNameField = element(by.css("span[data-automation-id*='parentName'] span"));
|
||||
var createdField = element(by.css("span[data-automation-id='card-dateitem-created'] span"));
|
||||
var idField = element(by.css("span[data-automation-id*='id'] span"));
|
||||
var descriptionField = element(by.css("span[data-automation-id*='description'] span"));
|
||||
var dueDateField = element(by.css("span[data-automation-id*='dueDate'] span"));
|
||||
var activitiesTitle = element(by.css("div[class*='adf-info-drawer-layout-header-title'] div"));
|
||||
var commentField = element(by.id("comment-input"));
|
||||
var addCommentButton = element(by.css("[data-automation-id='comments-input-add']"));
|
||||
var activityTab = element(by.cssContainingText("div[class*='mat-tab-label ']", "Activity"));
|
||||
var detailsTab = element(by.cssContainingText("div[class*='mat-tab-label ']", "Details"));
|
||||
var involvePeopleButton = element(by.css("div[class*='add-people']"));
|
||||
var addPeopleField = element(by.css("input[data-automation-id='adf-people-search-input']"));
|
||||
var addInvolvedUserButton = element(by.css("button[id='add-people'] span"));
|
||||
var emailInvolvedUser = by.xpath("following-sibling::div[@class='people-email ng-star-inserted']");
|
||||
var editActionInvolvedUser = by.xpath("following-sibling::div[@class='people-edit-label ng-star-inserted']");
|
||||
var involvedUserPic = by.xpath("ancestor::div/ancestor::div/preceding-sibling::div//div[@class='adf-people-search-people-pic ng-star-inserted']");
|
||||
var tadkDetailsInfoDrawer = element(by.tagName("adf-info-drawer"));
|
||||
var taskDetailsSection = element(by.css("div[data-automation-id='adf-tasks-details']"));
|
||||
var taskDetailsEmptySection = element(by.css("div[data-automation-id='adf-tasks-details--empty']"));
|
||||
var completeTask = element(by.css("button[id='adf-no-form-complete-button']"));
|
||||
var taskDetailsTitle = element(by.css('h2[class="activiti-task-details__header"] span'));
|
||||
var auditLogButton = element(by.css("button[adf-task-audit]"));
|
||||
var noPeopleInvolved = element(by.id('no-people-label'));
|
||||
var cancelInvolvePeopleButton = element(by.id('close-people-search'));
|
||||
var involvePeopleHeader = element(by.css("div[class='search-text-header']"));
|
||||
var removeInvolvedPeople = element(by.css("button[data-automation-id='Remove']"));
|
||||
var peopleTitle = element(by.id("people-title"));
|
||||
var editFormButton = element.all(by.css("mat-icon[data-automation-id='card-textitem-edit-icon-create']")).last();
|
||||
var attachFormDropdown = element(by.css("div[class='adf-attach-form-row']"));
|
||||
var cancelAttachForm = element(by.id("adf-no-form-cancel-button"));
|
||||
var attachFormButton = element(by.id("adf-no-form-attach-form-button"));
|
||||
var disabledAttachFormButton = element(by.css("button[id='adf-no-form-attach-form-button'][disabled]"));
|
||||
var removeAttachForm = element(by.id("adf-no-form-remove-button"));
|
||||
var attachFormName = element(by.css("span[class='adf-form-title ng-star-inserted']"));
|
||||
|
||||
this.getTaskDetailsTitle = function () {
|
||||
Util.waitUntilElementIsVisible(taskDetailsTitle);
|
||||
return taskDetailsTitle.getText();
|
||||
};
|
||||
|
||||
this.checkSelectedForm = function (formName) {
|
||||
Util.waitUntilElementIsVisible(attachFormName);
|
||||
expect(formName).toEqual(attachFormName.getText());
|
||||
};
|
||||
|
||||
this.checkAttachFormButtonIsDisabled = function () {
|
||||
Util.waitUntilElementIsVisible(disabledAttachFormButton);
|
||||
};
|
||||
|
||||
this.checkAttachFormButtonIsEnabled = function () {
|
||||
Util.waitUntilElementIsClickable(attachFormButton);
|
||||
};
|
||||
|
||||
this.checkEditFormButtonIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(editFormButton);
|
||||
};
|
||||
|
||||
this.clickEditFormButton = function () {
|
||||
Util.waitUntilElementIsClickable(editFormButton);
|
||||
return editFormButton.click();
|
||||
};
|
||||
|
||||
this.checkAttachFormDropdownIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(attachFormDropdown);
|
||||
};
|
||||
|
||||
this.clickAttachFormDropdown = function () {
|
||||
Util.waitUntilElementIsClickable(attachFormDropdown);
|
||||
return attachFormDropdown.click();
|
||||
};
|
||||
|
||||
this.selectAttachFormOption = function (option) {
|
||||
let selectedOption = element(by.cssContainingText("mat-option[role='option']", option));
|
||||
Util.waitUntilElementIsClickable(selectedOption);
|
||||
return selectedOption.click();
|
||||
};
|
||||
|
||||
this.checkCancelAttachFormIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(cancelAttachForm);
|
||||
};
|
||||
|
||||
this.clickCancelAttachForm = function () {
|
||||
Util.waitUntilElementIsClickable(cancelAttachForm);
|
||||
return cancelAttachForm.click();
|
||||
};
|
||||
|
||||
this.checkRemoveAttachFormIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(removeAttachForm);
|
||||
};
|
||||
|
||||
this.clickRemoveAttachForm = function () {
|
||||
Util.waitUntilElementIsClickable(removeAttachForm);
|
||||
return removeAttachForm.click();
|
||||
};
|
||||
|
||||
this.checkAttachFormButtonIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(attachFormButton);
|
||||
};
|
||||
|
||||
this.clickAttachFormButton = function () {
|
||||
Util.waitUntilElementIsClickable(attachFormButton);
|
||||
return attachFormButton.click();
|
||||
};
|
||||
|
||||
this.checkFormIsAttached = function (formName) {
|
||||
Util.waitUntilElementIsVisible(formNameField);
|
||||
formNameField.getText().then(function (attachedFormName){
|
||||
expect(attachedFormName).toEqual(formName);
|
||||
})
|
||||
};
|
||||
|
||||
this.getFormName = function () {
|
||||
Util.waitUntilElementIsVisible(formNameField);
|
||||
return formNameField.getText();
|
||||
};
|
||||
|
||||
this.getAssignee = function () {
|
||||
Util.waitUntilElementIsVisible(assigneeField);
|
||||
return assigneeField.getText();
|
||||
};
|
||||
|
||||
this.getStatus = function () {
|
||||
Util.waitUntilElementIsVisible(statusField);
|
||||
return statusField.getText();
|
||||
};
|
||||
|
||||
this.getCategory = function () {
|
||||
Util.waitUntilElementIsVisible(categoryField);
|
||||
return categoryField.getText();
|
||||
};
|
||||
|
||||
this.getParentName = function () {
|
||||
Util.waitUntilElementIsVisible(parentNameField);
|
||||
return parentNameField.getText();
|
||||
};
|
||||
|
||||
this.getCreated = function () {
|
||||
Util.waitUntilElementIsVisible(createdField);
|
||||
return createdField.getText();
|
||||
};
|
||||
|
||||
this.getId = function () {
|
||||
Util.waitUntilElementIsVisible(idField);
|
||||
return idField.getText();
|
||||
};
|
||||
|
||||
this.getDescription = function () {
|
||||
Util.waitUntilElementIsVisible(descriptionField);
|
||||
return descriptionField.getText();
|
||||
};
|
||||
|
||||
this.getDueDate = function () {
|
||||
Util.waitUntilElementIsVisible(dueDateField);
|
||||
return dueDateField.getText();
|
||||
};
|
||||
|
||||
this.getTitle = function () {
|
||||
Util.waitUntilElementIsVisible(activitiesTitle);
|
||||
return activitiesTitle.getText();
|
||||
};
|
||||
|
||||
this.selectActivityTab = function () {
|
||||
Util.waitUntilElementIsVisible(activityTab);
|
||||
activityTab.getAttribute('aria-selected').then(function (check) {
|
||||
if (check === 'false') {
|
||||
activityTab.click();
|
||||
expect(activityTab.getAttribute('aria-selected')==="true");
|
||||
}
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
this.selectDetailsTab = function () {
|
||||
Util.waitUntilElementIsVisible(detailsTab);
|
||||
detailsTab.getAttribute('aria-selected').then(function (check) {
|
||||
if (check === 'false') {
|
||||
detailsTab.click();
|
||||
expect(detailsTab.getAttribute('aria-selected')==="true");
|
||||
}
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
this.addComment = function (comment) {
|
||||
Util.waitUntilElementIsVisible(commentField);
|
||||
commentField.sendKeys(comment);
|
||||
addCommentButton.click();
|
||||
return this;
|
||||
};
|
||||
|
||||
this.clearComment = function (comment) {
|
||||
Util.waitUntilElementIsVisible(commentField);
|
||||
commentField.sendKeys(protractor.Key.ENTER);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.checkCommentIsDisplayed = function (comment) {
|
||||
var row = element(by.cssContainingText("div[id='comment-message']", comment));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.clickInvolvePeopleButton = function () {
|
||||
Util.waitUntilElementIsVisible(involvePeopleButton);
|
||||
Util.waitUntilElementIsClickable(involvePeopleButton);
|
||||
browser.actions().mouseMove(involvePeopleButton).perform();
|
||||
involvePeopleButton.click();
|
||||
return this;
|
||||
};
|
||||
|
||||
this.typeUser = function (user) {
|
||||
Util.waitUntilElementIsVisible(addPeopleField);
|
||||
addPeopleField.sendKeys(user);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.selectUserToInvolve = function(user) {
|
||||
this.getRowsUser(user).click();
|
||||
return this;
|
||||
};
|
||||
|
||||
this.checkUserIsSelected = function(user) {
|
||||
var row = element(by.cssContainingText("div[class*='search-list-container'] div[class*='people-full-name']", user));
|
||||
var selectedRow = this.getRowsUser(user).element(by.css("ancestor::tr[class*='is-selected']"));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.clickAddInvolvedUserButton = function () {
|
||||
Util.waitUntilElementIsVisible(addInvolvedUserButton);
|
||||
Util.waitUntilElementIsClickable(addInvolvedUserButton);
|
||||
addInvolvedUserButton.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
this.getRowsUser = function (user) {
|
||||
var row = element(by.cssContainingText("div[class*='people-full-name']", user));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return row;
|
||||
};
|
||||
|
||||
this.removeInvolvedUser = function (user) {
|
||||
var row = this.getRowsUser(user).element(by.xpath("ancestor::div[contains(@class, 'adf-datatable-row')]"));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
row.element(by.css("button[data-automation-id='action_menu_0']")).click();
|
||||
Util.waitUntilElementIsVisible(removeInvolvedPeople);
|
||||
return removeInvolvedPeople.click();
|
||||
};
|
||||
|
||||
this.getInvolvedUserEmail = function (user) {
|
||||
var email = this.getRowsUser(user).element(emailInvolvedUser);
|
||||
Util.waitUntilElementIsVisible(email);
|
||||
return email.getText();
|
||||
};
|
||||
|
||||
this.getInvolvedUserEditAction = function (user) {
|
||||
var edit = this.getRowsUser(user).element(editActionInvolvedUser);
|
||||
Util.waitUntilElementIsVisible(edit);
|
||||
return edit.getText();
|
||||
};
|
||||
|
||||
this.clickAuditLogButton = function () {
|
||||
Util.waitUntilElementIsVisible(auditLogButton);
|
||||
auditLogButton.click();
|
||||
};
|
||||
|
||||
this.appSettingsToggles = function () {
|
||||
return new AppSettingsToggles();
|
||||
};
|
||||
|
||||
this.taskInfoDrawerIsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(tadkDetailsInfoDrawer);
|
||||
};
|
||||
|
||||
this.taskInfoDrawerIsNotDisplayed = function () {
|
||||
Util.waitUntilElementIsNotOnPage(tadkDetailsInfoDrawer);
|
||||
};
|
||||
|
||||
this.checkNoPeopleIsInvolved = function () {
|
||||
Util.waitUntilElementIsVisible(noPeopleInvolved);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.clickCancelInvolvePeopleButton = function () {
|
||||
Util.waitUntilElementIsVisible(cancelInvolvePeopleButton);
|
||||
cancelInvolvePeopleButton.click();
|
||||
return this;
|
||||
};
|
||||
|
||||
this.getInvolvePeopleHeader = function () {
|
||||
Util.waitUntilElementIsVisible(involvePeopleHeader);
|
||||
return involvePeopleHeader.getText();
|
||||
};
|
||||
|
||||
this.getInvolvePeoplePlaceholder = function () {
|
||||
Util.waitUntilElementIsVisible(addPeopleField);
|
||||
return addPeopleField.getAttribute('placeholder');
|
||||
};
|
||||
|
||||
this.checkCancelButtonIsEnabled = function () {
|
||||
Util.waitUntilElementIsVisible(cancelInvolvePeopleButton);
|
||||
Util.waitUntilElementIsClickable(cancelInvolvePeopleButton);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.checkAddPeopleButtonIsEnabled = function () {
|
||||
Util.waitUntilElementIsVisible(addInvolvedUserButton);
|
||||
Util.waitUntilElementIsClickable(addInvolvedUserButton);
|
||||
return this;
|
||||
};
|
||||
|
||||
this.noUserIsDisplayedInSearchInvolvePeople = function (user) {
|
||||
Util.waitUntilElementIsNotOnPage(element(by.cssContainingText("div[class*='people-full-name']", user)));
|
||||
return this;
|
||||
};
|
||||
|
||||
this.getInvolvedPeopleTitle = function () {
|
||||
Util.waitUntilElementIsVisible(peopleTitle);
|
||||
return peopleTitle.getText();
|
||||
};
|
||||
|
||||
this.getInvolvedPeopleInitialImage = function (user) {
|
||||
var pic = this.getRowsUser(user).element(involvedUserPic);
|
||||
Util.waitUntilElementIsVisible(pic);
|
||||
return pic.getText();
|
||||
}
|
||||
|
||||
this.checkTaskDetails = function () {
|
||||
Util.waitUntilElementIsVisible(taskDetailsSection);
|
||||
return taskDetailsSection.getText();
|
||||
};
|
||||
|
||||
this.checkTaskDetailsEmpty = function () {
|
||||
Util.waitUntilElementIsVisible(taskDetailsEmptySection);
|
||||
return taskDetailsEmptySection.getText();
|
||||
};
|
||||
|
||||
this.checkTaskDetailsDisplayed = function () {
|
||||
Util.waitUntilElementIsVisible(taskDetailsSection);
|
||||
Util.waitUntilElementIsVisible(formNameField);
|
||||
Util.waitUntilElementIsVisible(assigneeField);
|
||||
Util.waitUntilElementIsVisible(statusField);
|
||||
Util.waitUntilElementIsVisible(categoryField);
|
||||
Util.waitUntilElementIsVisible(parentNameField);
|
||||
Util.waitUntilElementIsVisible(createdField);
|
||||
Util.waitUntilElementIsVisible(idField);
|
||||
Util.waitUntilElementIsVisible(descriptionField);
|
||||
Util.waitUntilElementIsVisible(dueDateField);
|
||||
Util.waitUntilElementIsVisible(dueDateField);
|
||||
Util.waitUntilElementIsVisible(activitiesTitle);
|
||||
|
||||
return taskDetailsSection.getText();
|
||||
};
|
||||
|
||||
this.clickCompleteTask = function () {
|
||||
Util.waitUntilElementIsVisible(completeTask);
|
||||
return completeTask.click();
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
module.exports = TaskDetailsPage;
|
386
e2e/pages/adf/process_services/taskDetailsPage.ts
Normal file
386
e2e/pages/adf/process_services/taskDetailsPage.ts
Normal file
@ -0,0 +1,386 @@
|
||||
/*!
|
||||
* @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 { AppSettingsToggles } from './dialog/appSettingsToggles';
|
||||
import Util = require('../../../util/util');
|
||||
|
||||
export class TaskDetailsPage {
|
||||
|
||||
appSettingsToggles = new AppSettingsToggles();
|
||||
formNameField = element(by.css('span[data-automation-id*="formName"] span'));
|
||||
assigneeField = element(by.css('span[data-automation-id*="assignee"] span'));
|
||||
statusField = element(by.css('span[data-automation-id*="status"] span'));
|
||||
categoryField = element(by.css('span[data-automation-id*="category"] span'));
|
||||
parentNameField = element(by.css('span[data-automation-id*="parentName"] span'));
|
||||
createdField = element(by.css('span[data-automation-id="card-dateitem-created"] span'));
|
||||
idField = element(by.css('span[data-automation-id*="id"] span'));
|
||||
descriptionField = element(by.css('span[data-automation-id*="description"] span'));
|
||||
dueDateField = element(by.css('span[data-automation-id*="dueDate"] span'));
|
||||
activitiesTitle = element(by.css('div[class*="adf-info-drawer-layout-header-title"] div'));
|
||||
commentField = element(by.id('comment-input'));
|
||||
addCommentButton = element(by.css('[data-automation-id="comments-input-add"]'));
|
||||
activityTab = element(by.cssContainingText('div[class*="mat-tab-label"]', 'Activity'));
|
||||
detailsTab = element(by.cssContainingText('div[class*="mat-tab-label""]', 'Details'));
|
||||
involvePeopleButton = element(by.css('div[class*="add-people"]'));
|
||||
addPeopleField = element(by.css('input[data-automation-id="adf-people-search-input"]'));
|
||||
addInvolvedUserButton = element(by.css('button[id="add-people"] span'));
|
||||
emailInvolvedUser = by.xpath('following-sibling::div[@class="people-email ng-star-inserted"]');
|
||||
editActionInvolvedUser = by.xpath('following-sibling::div[@class="people-edit-label ng-star-inserted"]');
|
||||
involvedUserPic = by.xpath('ancestor::div/ancestor::div/preceding-sibling::div//div[@class="adf-people-search-people-pic ng-star-inserted"]');
|
||||
tadkDetailsInfoDrawer = element(by.tagName('adf-info-drawer'));
|
||||
taskDetailsSection = element(by.css('div[data-automation-id="adf-tasks-details"]'));
|
||||
taskDetailsEmptySection = element(by.css('div[data-automation-id="adf-tasks-details--empty"]'));
|
||||
completeTask = element(by.css('button[id="adf-no-form-complete-button"]'));
|
||||
taskDetailsTitle = element(by.css('h2[class="activiti-task-details__header"] span'));
|
||||
auditLogButton = element(by.css('button[adf-task-audit]'));
|
||||
noPeopleInvolved = element(by.id('no-people-label'));
|
||||
cancelInvolvePeopleButton = element(by.id('close-people-search'));
|
||||
involvePeopleHeader = element(by.css('div[class="search-text-header"]'));
|
||||
removeInvolvedPeople = element(by.css('button[data-automation-id="Remove"]'));
|
||||
peopleTitle = element(by.id('people-title'));
|
||||
editFormButton = element.all(by.css('mat-icon[data-automation-id="card-textitem-edit-icon-create"]')).last();
|
||||
attachFormDropdown = element(by.css('div[class="adf-attach-form-row"]'));
|
||||
cancelAttachForm = element(by.id('adf-no-form-cancel-button'));
|
||||
attachFormButton = element(by.id('adf-no-form-attach-form-button'));
|
||||
disabledAttachFormButton = element(by.css('button[id="adf-no-form-attach-form-button"][disabled]'));
|
||||
removeAttachForm = element(by.id('adf-no-form-remove-button'));
|
||||
attachFormName = element(by.css('span[class="adf-form-title ng-star-inserted"]'));
|
||||
|
||||
getTaskDetailsTitle() {
|
||||
Util.waitUntilElementIsVisible(this.taskDetailsTitle);
|
||||
return this.taskDetailsTitle.getText();
|
||||
}
|
||||
|
||||
checkSelectedForm(formName) {
|
||||
Util.waitUntilElementIsVisible(this.attachFormName);
|
||||
expect(formName).toEqual(this.attachFormName.getText());
|
||||
}
|
||||
|
||||
checkAttachFormButtonIsDisabled() {
|
||||
Util.waitUntilElementIsVisible(this.disabledAttachFormButton);
|
||||
}
|
||||
|
||||
checkAttachFormButtonIsEnabled() {
|
||||
Util.waitUntilElementIsClickable(this.attachFormButton);
|
||||
}
|
||||
|
||||
checkEditFormButtonIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.editFormButton);
|
||||
}
|
||||
|
||||
clickEditFormButton() {
|
||||
Util.waitUntilElementIsClickable(this.editFormButton);
|
||||
return this.editFormButton.click();
|
||||
}
|
||||
|
||||
checkAttachFormDropdownIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.attachFormDropdown);
|
||||
}
|
||||
|
||||
clickAttachFormDropdown() {
|
||||
Util.waitUntilElementIsClickable(this.attachFormDropdown);
|
||||
return this.attachFormDropdown.click();
|
||||
}
|
||||
|
||||
selectAttachFormOption(option) {
|
||||
let selectedOption = element(by.cssContainingText('mat-option[role="option"]', option));
|
||||
Util.waitUntilElementIsClickable(selectedOption);
|
||||
return selectedOption.click();
|
||||
}
|
||||
|
||||
checkCancelAttachFormIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.cancelAttachForm);
|
||||
}
|
||||
|
||||
clickCancelAttachForm() {
|
||||
Util.waitUntilElementIsClickable(this.cancelAttachForm);
|
||||
return this.cancelAttachForm.click();
|
||||
}
|
||||
|
||||
checkRemoveAttachFormIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.removeAttachForm);
|
||||
}
|
||||
|
||||
clickRemoveAttachForm() {
|
||||
Util.waitUntilElementIsClickable(this.removeAttachForm);
|
||||
return this.removeAttachForm.click();
|
||||
}
|
||||
|
||||
checkAttachFormButtonIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.attachFormButton);
|
||||
}
|
||||
|
||||
clickAttachFormButton() {
|
||||
Util.waitUntilElementIsClickable(this.attachFormButton);
|
||||
return this.attachFormButton.click();
|
||||
}
|
||||
|
||||
checkFormIsAttached(formName) {
|
||||
Util.waitUntilElementIsVisible(this.formNameField);
|
||||
this.formNameField.getText().then((attachedFormName) => {
|
||||
expect(attachedFormName).toEqual(formName);
|
||||
});
|
||||
}
|
||||
|
||||
getFormName() {
|
||||
Util.waitUntilElementIsVisible(this.formNameField);
|
||||
return this.formNameField.getText();
|
||||
}
|
||||
|
||||
getAssignee() {
|
||||
Util.waitUntilElementIsVisible(this.assigneeField);
|
||||
return this.assigneeField.getText();
|
||||
}
|
||||
|
||||
getStatus() {
|
||||
Util.waitUntilElementIsVisible(this.statusField);
|
||||
return this.statusField.getText();
|
||||
}
|
||||
|
||||
getCategory() {
|
||||
Util.waitUntilElementIsVisible(this.categoryField);
|
||||
return this.categoryField.getText();
|
||||
}
|
||||
|
||||
getParentName() {
|
||||
Util.waitUntilElementIsVisible(this.parentNameField);
|
||||
return this.parentNameField.getText();
|
||||
}
|
||||
|
||||
getCreated() {
|
||||
Util.waitUntilElementIsVisible(this.createdField);
|
||||
return this.createdField.getText();
|
||||
}
|
||||
|
||||
getId() {
|
||||
Util.waitUntilElementIsVisible(this.idField);
|
||||
return this.idField.getText();
|
||||
}
|
||||
|
||||
getDescription() {
|
||||
Util.waitUntilElementIsVisible(this.descriptionField);
|
||||
return this.descriptionField.getText();
|
||||
}
|
||||
|
||||
getDueDate() {
|
||||
Util.waitUntilElementIsVisible(this.dueDateField);
|
||||
return this.dueDateField.getText();
|
||||
}
|
||||
|
||||
getTitle() {
|
||||
Util.waitUntilElementIsVisible(this.activitiesTitle);
|
||||
return this.activitiesTitle.getText();
|
||||
}
|
||||
|
||||
selectActivityTab() {
|
||||
Util.waitUntilElementIsVisible(this.activityTab);
|
||||
activityTab.getAttribute('aria-selected').then((check) => {
|
||||
if (check === 'false') {
|
||||
this.activityTab.click();
|
||||
expect(this.activityTab.getAttribute('aria-selected') === 'true');
|
||||
}
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
selectDetailsTab() {
|
||||
Util.waitUntilElementIsVisible(this.detailsTab);
|
||||
detailsTab.getAttribute('aria-selected').then((check) => {
|
||||
if (check === 'false') {
|
||||
this.detailsTab.click();
|
||||
expect(this.detailsTab.getAttribute('aria-selected') === 'true');
|
||||
}
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
addComment(comment) {
|
||||
Util.waitUntilElementIsVisible(this.commentField);
|
||||
this.commentField.sendKeys(comment);
|
||||
this.addCommentButton.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
clearComment(comment) {
|
||||
Util.waitUntilElementIsVisible(this.commentField);
|
||||
this.commentField.sendKeys(protractor.Key.ENTER);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkCommentIsDisplayed(comment) {
|
||||
let row = element(by.cssContainingText('div[id="comment-message"]', comment));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return this;
|
||||
}
|
||||
|
||||
clickInvolvePeopleButton() {
|
||||
Util.waitUntilElementIsVisible(this.involvePeopleButton);
|
||||
Util.waitUntilElementIsClickable(this.involvePeopleButton);
|
||||
browser.actions().mouseMove(this.involvePeopleButton).perform();
|
||||
this.involvePeopleButton.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
typeUser(user) {
|
||||
Util.waitUntilElementIsVisible(this.addPeopleField);
|
||||
this.addPeopleField.sendKeys(user);
|
||||
return this;
|
||||
}
|
||||
|
||||
selectUserToInvolve(user) {
|
||||
this.getRowsUser(user).click();
|
||||
return this;
|
||||
}
|
||||
|
||||
checkUserIsSelected(user) {
|
||||
let row = element(by.cssContainingText('div[class*="search-list-container"] div[class*="people-full-name"]', user));
|
||||
let selectedRow = this.getRowsUser(user).element(by.css('ancestor::tr[class*="is-selected"]'));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return this;
|
||||
}
|
||||
|
||||
clickAddInvolvedUserButton() {
|
||||
Util.waitUntilElementIsVisible(this.addInvolvedUserButton);
|
||||
Util.waitUntilElementIsClickable(this.addInvolvedUserButton);
|
||||
this.addInvolvedUserButton.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
getRowsUser(user) {
|
||||
let row = element(by.cssContainingText('div[class*="people-full-name"]', user));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
return row;
|
||||
}
|
||||
|
||||
removeInvolvedUser(user) {
|
||||
let row = this.getRowsUser(user).element(by.xpath('ancestor::div[contains(@class, "adf-datatable-row")]'));
|
||||
Util.waitUntilElementIsVisible(row);
|
||||
row.element(by.css('button[data-automation-id="action_menu_0"]')).click();
|
||||
Util.waitUntilElementIsVisible(this.removeInvolvedPeople);
|
||||
return this.removeInvolvedPeople.click();
|
||||
}
|
||||
|
||||
getInvolvedUserEmail(user) {
|
||||
let email = this.getRowsUser(user).element(emailInvolvedUser);
|
||||
Util.waitUntilElementIsVisible(email);
|
||||
return email.getText();
|
||||
}
|
||||
|
||||
getInvolvedUserEditAction(user) {
|
||||
let edit = this.getRowsUser(user).element(editActionInvolvedUser);
|
||||
Util.waitUntilElementIsVisible(edit);
|
||||
return edit.getText();
|
||||
}
|
||||
|
||||
clickAuditLogButton() {
|
||||
Util.waitUntilElementIsVisible(this.auditLogButton);
|
||||
this.auditLogButton.click();
|
||||
}
|
||||
|
||||
appSettingsToggles() {
|
||||
return this.appSettingsToggles;
|
||||
}
|
||||
|
||||
taskInfoDrawerIsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.tadkDetailsInfoDrawer);
|
||||
}
|
||||
|
||||
taskInfoDrawerIsNotDisplayed() {
|
||||
Util.waitUntilElementIsNotOnPage(this.tadkDetailsInfoDrawer);
|
||||
}
|
||||
|
||||
checkNoPeopleIsInvolved() {
|
||||
Util.waitUntilElementIsVisible(this.noPeopleInvolved);
|
||||
return this;
|
||||
}
|
||||
|
||||
clickCancelInvolvePeopleButton() {
|
||||
Util.waitUntilElementIsVisible(this.cancelInvolvePeopleButton);
|
||||
this.cancelInvolvePeopleButton.click();
|
||||
return this;
|
||||
}
|
||||
|
||||
getInvolvePeopleHeader() {
|
||||
Util.waitUntilElementIsVisible(this.involvePeopleHeader);
|
||||
return this.involvePeopleHeader.getText();
|
||||
}
|
||||
|
||||
getInvolvePeoplePlaceholder() {
|
||||
Util.waitUntilElementIsVisible(this.addPeopleField);
|
||||
return this.addPeopleField.getAttribute('placeholder');
|
||||
}
|
||||
|
||||
checkCancelButtonIsEnabled() {
|
||||
Util.waitUntilElementIsVisible(this.cancelInvolvePeopleButton);
|
||||
Util.waitUntilElementIsClickable(this.cancelInvolvePeopleButton);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkAddPeopleButtonIsEnabled() {
|
||||
Util.waitUntilElementIsVisible(this.addInvolvedUserButton);
|
||||
Util.waitUntilElementIsClickable(this.addInvolvedUserButton);
|
||||
return this;
|
||||
}
|
||||
|
||||
noUserIsDisplayedInSearchInvolvePeople(user) {
|
||||
Util.waitUntilElementIsNotOnPage(element(by.cssContainingText('div[class*="people-full-name"]', user)));
|
||||
return this;
|
||||
}
|
||||
|
||||
getInvolvedPeopleTitle() {
|
||||
Util.waitUntilElementIsVisible(this.peopleTitle);
|
||||
return this.peopleTitle.getText();
|
||||
}
|
||||
|
||||
getInvolvedPeopleInitialImage(user) {
|
||||
let pic = this.getRowsUser(user).element(this.involvedUserPic);
|
||||
Util.waitUntilElementIsVisible(pic);
|
||||
return pic.getText();
|
||||
}
|
||||
|
||||
checkTaskDetails() {
|
||||
Util.waitUntilElementIsVisible(this.taskDetailsSection);
|
||||
return this.taskDetailsSection.getText();
|
||||
}
|
||||
|
||||
checkTaskDetailsEmpty() {
|
||||
Util.waitUntilElementIsVisible(this.taskDetailsEmptySection);
|
||||
return this.taskDetailsEmptySection.getText();
|
||||
}
|
||||
|
||||
checkTaskDetailsDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.taskDetailsSection);
|
||||
Util.waitUntilElementIsVisible(this.formNameField);
|
||||
Util.waitUntilElementIsVisible(this.assigneeField);
|
||||
Util.waitUntilElementIsVisible(this.statusField);
|
||||
Util.waitUntilElementIsVisible(this.categoryField);
|
||||
Util.waitUntilElementIsVisible(this.parentNameField);
|
||||
Util.waitUntilElementIsVisible(this.createdField);
|
||||
Util.waitUntilElementIsVisible(this.idField);
|
||||
Util.waitUntilElementIsVisible(this.descriptionField);
|
||||
Util.waitUntilElementIsVisible(this.dueDateField);
|
||||
Util.waitUntilElementIsVisible(this.activitiesTitle);
|
||||
|
||||
return this.taskDetailsSection.getText();
|
||||
}
|
||||
|
||||
clickCompleteTask() {
|
||||
Util.waitUntilElementIsVisible(this.completeTask);
|
||||
return this.completeTask.click();
|
||||
}
|
||||
|
||||
}
|
@ -89,6 +89,7 @@ export class ViewerPage {
|
||||
printButton = element(by.id('adf-viewer-print'));
|
||||
|
||||
allowSidebarSwitch = element(by.id('adf-switch-allowsidebar'));
|
||||
allowLeftSidebarSwitch = element(by.id('adf-switch-allowLeftSidebar'));
|
||||
|
||||
shareSwitch = element(by.id('adf-switch-share'));
|
||||
shareButton = element(by.id('adf-viewer-share'));
|
||||
@ -628,6 +629,14 @@ export class ViewerPage {
|
||||
this.formControllersPage.enableToggle(this.allowSidebarSwitch);
|
||||
}
|
||||
|
||||
disableAllowLeftSidebar() {
|
||||
this.formControllersPage.disableToggle(this.allowLeftSidebarSwitch);
|
||||
}
|
||||
|
||||
enableAllowLeftSidebar() {
|
||||
this.formControllersPage.enableToggle(this.allowLeftSidebarSwitch);
|
||||
}
|
||||
|
||||
checkShareButtonDisplayed() {
|
||||
Util.waitUntilElementIsVisible(this.shareButton);
|
||||
return this;
|
||||
|
@ -21,7 +21,8 @@ import Util = require('../util/util');
|
||||
import LoginPage = require('../pages/adf/loginPage');
|
||||
import ProcessServicesPage = require('../pages/adf/process_services/processServicesPage');
|
||||
import TasksListPage = require('../pages/adf/process_services/tasksListPage');
|
||||
import TaskDetailsPage = require('../pages/adf/process_services/taskDetailsPage');
|
||||
import { TaskDetailsPage } from '../pages/adf/process_services/taskDetailsPage';
|
||||
|
||||
import FiltersPage = require('../pages/adf/process_services/filtersPage');
|
||||
|
||||
import TaskModel = require('../models/APS/StandaloneTask');
|
||||
|
@ -24,9 +24,9 @@ import ProcessServicesPage = require('../pages/adf/process_services/processServi
|
||||
import TasksPage = require('../pages/adf/process_services/tasksPage');
|
||||
import TasksListPage = require('../pages/adf/process_services/tasksListPage');
|
||||
import TaskFiltersPage = require('../pages/adf/process_services/taskFiltersPage');
|
||||
import TaskDetailsPage = require('../pages/adf/process_services/taskDetailsPage');
|
||||
import { TaskDetailsPage } from '../pages/adf/process_services/taskDetailsPage';
|
||||
import AppNavigationBarPage = require('../pages/adf/process_services/appNavigationBarPage');
|
||||
import AppSettingsToggles = require('../pages/adf/process_services/dialog/appSettingsToggles');
|
||||
import { AppSettingsToggles } from '../pages/adf/process_services/dialog/appSettingsToggles';
|
||||
|
||||
import AlfrescoApi = require('alfresco-js-api-node');
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
|
@ -23,7 +23,7 @@ import ProcessServicesPage = require('../pages/adf/process_services/processServi
|
||||
import TasksPage = require('../pages/adf/process_services/tasksPage');
|
||||
import TasksListPage = require('../pages/adf/process_services/tasksListPage');
|
||||
import TaskFiltersPage = require('../pages/adf/process_services/taskFiltersPage');
|
||||
import TaskDetailsPage = require('../pages/adf/process_services/taskDetailsPage');
|
||||
import { TaskDetailsPage } from '../pages/adf/process_services/taskDetailsPage';
|
||||
|
||||
import AlfrescoApi = require('alfresco-js-api-node');
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
|
Loading…
x
Reference in New Issue
Block a user