[ADF-4705] - Automate forms checkbox widget (#4881)

* [ADF-4705] - Automate forms checkox widget

* Move methods to a demo-shell page

* Adding 3 new tests
This commit is contained in:
Silviu Popa
2019-07-01 11:33:34 +01:00
committed by Eugenio Romano
parent 4dccc2a49a
commit 43f08441cd
8 changed files with 476 additions and 10 deletions
+16 -6
View File
@@ -15,25 +15,35 @@
* limitations under the License.
*/
import { element, by } from 'protractor';
import { element, by, browser } from 'protractor';
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
export class ConfigEditorPage {
textField = element(by.css('#adf-form-config-editor div.overflow-guard > textarea'));
enterConfiguration(text) {
const textField = element(by.css('#adf-code-configuration-editor div.overflow-guard > textarea'));
BrowserVisibility.waitUntilElementIsVisible(textField);
textField.sendKeys(text);
BrowserVisibility.waitUntilElementIsVisible(this.textField);
this.textField.sendKeys(text);
return this;
}
clickSaveButton() {
const saveButton = element(by.id('adf-configuration-save'));
const saveButton = element(by.id('adf-form-config-save'));
BrowserActions.click(saveButton);
}
clickClearButton() {
const clearButton = element(by.id('adf-configuration-clear'));
BrowserVisibility.waitUntilElementIsVisible(this.textField);
const clearButton = element(by.id('adf-form-config-clear'));
BrowserActions.click(clearButton);
}
enterBulkConfiguration(text) {
this.clickClearButton();
BrowserVisibility.waitUntilElementIsVisible(this.textField);
browser.executeScript('this.monaco.editor.getModels()[0].setValue(`' + JSON.stringify(text) + '`)');
this.clickSaveButton();
}
}
@@ -0,0 +1,46 @@
/*!
* @license
* Copyright 2019 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 { ConfigEditorPage } from '../../configEditorPage';
import { BrowserVisibility } from '@alfresco/adf-testing';
import { by, element, browser } from 'protractor';
export class FormCloudDemoPage {
formCloudEditor = element.all(by.css('.mat-tab-list .mat-tab-label')).get(1);
formCloudRender = element.all(by.css('.mat-tab-list .mat-tab-label')).get(0);
configEditorPage = new ConfigEditorPage();
goToEditor() {
BrowserVisibility.waitUntilElementIsVisible(this.formCloudEditor);
this.formCloudEditor.click();
}
goToRenderedForm() {
BrowserVisibility.waitUntilElementIsVisible(this.formCloudRender);
this.formCloudRender.click();
}
setConfigToEditor(text) {
this.goToEditor();
browser.sleep(2000);
this.configEditorPage.enterBulkConfiguration(text);
this.goToRenderedForm();
browser.sleep(2000);
}
}
+5
View File
@@ -205,6 +205,11 @@ export class NavigationBarPage {
BrowserActions.click(this.formButton);
}
clickFormCloudButton() {
this.clickMenuButton('Process Cloud');
BrowserActions.click(this.formButton);
}
checkLogoTooltip(logoTooltipTitle) {
const logoTooltip = element(by.css('a[title="' + logoTooltipTitle + '"]'));
BrowserVisibility.waitUntilElementIsVisible(logoTooltip);