Create card-view-boolean-item page (#5537)

This commit is contained in:
Cristina Jalba
2020-03-06 12:21:39 +02:00
committed by GitHub
parent 2e976d013b
commit 226b139d7a
3 changed files with 47 additions and 3 deletions

View File

@@ -16,19 +16,19 @@
*/ */
import { by, element, ElementFinder } from 'protractor'; import { by, element, ElementFinder } from 'protractor';
import { BrowserVisibility, BrowserActions, CardTextItemPage, DropdownPage } from '@alfresco/adf-testing'; import { BrowserVisibility, BrowserActions, CardTextItemPage, DropdownPage, CardBooleanItemPage } from '@alfresco/adf-testing';
export class CardViewComponentPage { export class CardViewComponentPage {
addButton: ElementFinder = element(by.className('adf-card-view__key-value-pairs__add-btn')); addButton: ElementFinder = element(by.className('adf-card-view__key-value-pairs__add-btn'));
nameCardTextItem: CardTextItemPage = new CardTextItemPage('name'); nameCardTextItem: CardTextItemPage = new CardTextItemPage('name');
booleanCardBooleanItem: CardBooleanItemPage = new CardBooleanItemPage('boolean');
intField: ElementFinder = element(by.css(`input[data-automation-id='card-textitem-editinput-int']`)); intField: ElementFinder = element(by.css(`input[data-automation-id='card-textitem-editinput-int']`));
floatField: ElementFinder = element(by.css(`input[data-automation-id='card-textitem-editinput-float']`)); floatField: ElementFinder = element(by.css(`input[data-automation-id='card-textitem-editinput-float']`));
valueInputField: ElementFinder = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Value']`)); valueInputField: ElementFinder = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Value']`));
nameInputField: ElementFinder = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Name']`)); nameInputField: ElementFinder = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Name']`));
consoleLog: ElementFinder = element(by.className('app-console')); consoleLog: ElementFinder = element(by.className('app-console'));
deleteButton: ElementFinder = element.all(by.className('adf-card-view__key-value-pairs__remove-btn')).first(); deleteButton: ElementFinder = element.all(by.className('adf-card-view__key-value-pairs__remove-btn')).first();
checkbox: ElementFinder = element(by.css(`mat-checkbox[data-automation-id='card-boolean-boolean']`));
resetButton: ElementFinder = element(by.css(`#adf-reset-card-log`)); resetButton: ElementFinder = element(by.css(`#adf-reset-card-log`));
editableSwitch: ElementFinder = element(by.id('app-toggle-editable')); editableSwitch: ElementFinder = element(by.id('app-toggle-editable'));
clearDateSwitch: ElementFinder = element(by.id('app-toggle-clear-date')); clearDateSwitch: ElementFinder = element(by.id('app-toggle-clear-date'));
@@ -155,7 +155,11 @@ export class CardViewComponentPage {
} }
async checkboxClick(): Promise<void> { async checkboxClick(): Promise<void> {
await BrowserActions.click(this.checkbox); await this.booleanCardBooleanItem.checkboxClick();
}
async checkBooleanLabelIsPresent(): Promise<void> {
await this.booleanCardBooleanItem.checkLabelIsPresent();
} }
async selectValueFromComboBox(index): Promise<void> { async selectValueFromComboBox(index): Promise<void> {

View File

@@ -0,0 +1,39 @@
/*!
* @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 { element, by, ElementFinder, Locator } from 'protractor';
import { BrowserActions, BrowserVisibility } from '../../utils/public-api';
export class CardBooleanItemPage {
rootElement: ElementFinder;
labelLocator: Locator = by.css('div[data-automation-id*="card-boolean-label"]');
checkbox: Locator = by.css('mat-checkbox[data-automation-id*="card-boolean"]');
constructor(label: string = 'assignee') {
this.rootElement = element(by.xpath(`//div[contains(@data-automation-id, "label-${label}")]/ancestor::adf-card-view-boolitem`));
}
async checkboxClick(): Promise<void> {
await BrowserActions.click(this.rootElement.element(this.checkbox));
}
async checkLabelIsPresent(): Promise<void> {
const labelElement: ElementFinder = this.rootElement.element(this.labelLocator);
await BrowserVisibility.waitUntilElementIsPresent(labelElement);
}
}

View File

@@ -16,3 +16,4 @@
*/ */
export * from './card-view-text-item.page'; export * from './card-view-text-item.page';
export * from './card-view-boolean-item.page';