mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
* [ADF-3617] Fix bugs in Task Details Page controller * [ADF-3617] Fix bugs in Task Page controller * [ADF-3617] Separate in different describes automation tests * [ADF-3671] start working on e2e form tests * [ADF-3671] improved checks for form widgets * [ADF-3671] start adding multiline text widget tsts * [ADF-3671] added test for multiline and some improvements * [ADF-3671] Add e2e tests for Dropdown, Date, Checkbox widgets * [ADF-3671] Add e2e test for radio, number, hyperlink widgets * [ADF-3671] Add automation tests for Form Widgets * [ADF-3671] Update usage of Dropdown Widget * [ADF-3671] Fix fileModel file and rename widget controles * [ADF-3671] Rename Widget Controllers * [ADF-3671] Remove unused imports and fix dynamic table e2e test * [ADF-3671] Fix spell errors * [ADF-3671] Fix people, date time, attach widget * [ADF-3671] Fix Form People widget tests * [ADF-3671] Rebase and remove unused variables
171 lines
6.2 KiB
JavaScript
171 lines
6.2 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 FormFields = function () {
|
|
|
|
var formContent = element(by.css("adf-form"));
|
|
var refreshButton = element(by.css("div[class*='form-reload-button'] mat-icon"));
|
|
var saveButton = element(by.cssContainingText("mat-card-actions[class*='adf-form'] span", "SAVE"));
|
|
var valueLocator = by.css("input");
|
|
var labelLocator = by.css("label");
|
|
var noFormMessage = element(by.css("span[id*='no-form-message']"));
|
|
var completedTaskNoFormMessage = element(by.css("div[id*='completed-form-message'] p"));
|
|
var attachFormButton = element(by.id("adf-no-form-attach-form-button"));
|
|
var selectFormDropDownArrow = element.all(by.css("adf-attach-form div[class*='mat-select-arrow']")).first();
|
|
var selectFormContent = element(by.css("div[class*='mat-select-content']"));
|
|
var completeButton = element(by.id('adf-form-complete'));
|
|
var errorMessage = by.css('.adf-error-text-container .adf-error-text');
|
|
|
|
this.setFieldValue = function (By, field, value) {
|
|
var fieldElement = element(By(field));
|
|
Util.waitUntilElementIsVisible(fieldElement);
|
|
fieldElement.clear().sendKeys(value);
|
|
return this;
|
|
};
|
|
|
|
this.checkWidgetIsVisible = function (fieldId) {
|
|
var fieldElement = element(by.css("adf-form-field div[id='field-"+fieldId+"-container']"));
|
|
Util.waitUntilElementIsVisible(fieldElement);
|
|
}
|
|
|
|
this.checkWidgetIsHidden = function (fieldId) {
|
|
var hiddenElement = element(by.css("adf-form-field div[id='field-"+fieldId+"-container'][hidden]"));
|
|
Util.waitUntilElementIsVisible(hiddenElement);
|
|
}
|
|
|
|
this.getWidget = function (fieldId) {
|
|
var widget = element(by.css("adf-form-field div[id='field-" + fieldId + "-container']"));
|
|
Util.waitUntilElementIsVisible(widget);
|
|
return widget;
|
|
};
|
|
|
|
this.getFieldValue = function (fieldId, valueLocatorParam) {
|
|
var value = this.getWidget(fieldId).element(valueLocatorParam || valueLocator);
|
|
Util.waitUntilElementIsVisible(value);
|
|
return value.getAttribute('value');
|
|
};
|
|
|
|
this.getFieldLabel = function (fieldId, labelLocatorParam) {
|
|
var label = this.getWidget(fieldId).element(labelLocatorParam || labelLocator);
|
|
Util.waitUntilElementIsVisible(label);
|
|
return label.getText();
|
|
};
|
|
|
|
this.getFieldErrorMessage = function (fieldId) {
|
|
var error = this.getWidget(fieldId).element(errorMessage);
|
|
return error.getText();
|
|
}
|
|
|
|
this.getFieldText = function (fieldId, labelLocatorParam) {
|
|
var label = this.getWidget(fieldId).element(labelLocatorParam || labelLocator);
|
|
Util.waitUntilElementIsVisible(label);
|
|
return label.getText();
|
|
};
|
|
|
|
this.getFieldPlaceHolder = function (fieldId, locator='input') {
|
|
let placeHolderLocator = element(by.css(`${locator}#${fieldId}`)).getAttribute('placeholder');
|
|
Util.waitUntilElementIsVisible(placeHolderLocator);
|
|
return placeHolderLocator;
|
|
};
|
|
|
|
this.checkFieldValue = function (By, field, val) {
|
|
Util.waitUntilElementHasValue(element(By(field)), val);
|
|
return this;
|
|
};
|
|
|
|
this.refreshForm = function () {
|
|
Util.waitUntilElementIsVisible(refreshButton);
|
|
refreshButton.click();
|
|
return this;
|
|
};
|
|
|
|
this.saveForm = function () {
|
|
Util.waitUntilElementIsVisible(saveButton);
|
|
Util.waitUntilElementIsClickable(saveButton);
|
|
saveButton.click();
|
|
return this;
|
|
};
|
|
|
|
this.noFormIsDisplayed = function () {
|
|
Util.waitUntilElementIsNotOnPage(formContent);
|
|
return this;
|
|
};
|
|
|
|
this.checkFormIsDisplayed = function () {
|
|
Util.waitUntilElementIsVisible(formContent);
|
|
return this;
|
|
};
|
|
|
|
this.getNoFormMessage = function () {
|
|
Util.waitUntilElementIsVisible(noFormMessage);
|
|
return noFormMessage.getText();
|
|
};
|
|
|
|
this.getCompletedTaskNoFormMessage = function () {
|
|
Util.waitUntilElementIsVisible(completedTaskNoFormMessage);
|
|
return completedTaskNoFormMessage.getText();
|
|
};
|
|
|
|
this.clickOnAttachFormButton = function () {
|
|
Util.waitUntilElementIsVisible(attachFormButton);
|
|
attachFormButton.click();
|
|
return this;
|
|
};
|
|
|
|
this.selectForm = function (formName) {
|
|
Util.waitUntilElementIsVisible(selectFormDropDownArrow);
|
|
selectFormDropDownArrow.click();
|
|
Util.waitUntilElementIsVisible(selectFormContent);
|
|
this.selectFormFromDropDown(formName);
|
|
return this;
|
|
};
|
|
|
|
this.selectFormFromDropDown = function (formName) {
|
|
var formNameElement = element(by.cssContainingText("span", formName));
|
|
Util.waitUntilElementIsVisible(formNameElement);
|
|
formNameElement.click();
|
|
};
|
|
|
|
this.checkWidgetIsReadOnlyMode = function (fieldId) {
|
|
var widget = element(by.css("adf-form-field div[id='field-" + fieldId + "-container']"));
|
|
var widgetReadOnly = widget.element(by.css('div[class*="adf-readonly"]'));
|
|
Util.waitUntilElementIsVisible(widgetReadOnly);
|
|
return widgetReadOnly;
|
|
};
|
|
|
|
this.completeForm = function () {
|
|
Util.waitUntilElementIsVisible(completeButton);
|
|
return completeButton.click();
|
|
};
|
|
|
|
this.setValueInInputById = function(fieldId, value) {
|
|
let input = element(by.id(fieldId));
|
|
Util.waitUntilElementIsVisible(input);
|
|
input.clear().sendKeys(value);
|
|
return this;
|
|
}
|
|
|
|
this.isCompleteFormButtonDisabled = function() {
|
|
Util.waitUntilElementIsVisible(completeButton);
|
|
return completeButton.getAttribute('disabled');
|
|
}
|
|
};
|
|
|
|
module.exports = FormFields;
|