/**
|
* @file S&OP Label component to wrap common methods the team encounter during development
|
* @description Label class extending e2elib's Label.
|
* All S&OP page objects inherit from our own class (inheriting e2e/libappbase), but we can propose common methods to them.
|
* @author Clarence (clarence.chan@3ds.com)
|
* @copyright Dassault Systèmes
|
*/
|
import { QUtils } from '../e2elib/lib/src/main/qutils.class';
|
import { Label } from '../e2elib/lib/src/pageobjects/label.component';
|
import { ElementFinder } from '../e2elib/node_modules/protractor/built';
|
import { UIActionSOP } from './objectsop';
|
|
export class LabelSOP extends Label implements UIActionSOP {
|
public constructor(componentPath: string, isCustomPath?: boolean, elementObj?: ElementFinder) {
|
super(componentPath, isCustomPath, elementObj);
|
}
|
|
public async clickActionLinkText(_expectedActionLinkText: string): Promise<void> {
|
// Implements UIActionSOP. Not implementing
|
}
|
|
public async getValueString(): Promise<string> {
|
return this.getText();
|
}
|
|
public async setValue(_value: string): Promise<void> {
|
// Do nothing as label can't be changed by user
|
// Argument prefix _ so that not flagged as error not used
|
}
|
|
public async verifyBatchEditEnabled(_expectedEnable: boolean, _expectedActionLinkText: string): Promise<void> {
|
// Implements UIActionSOP. Not implementing
|
}
|
|
public async verifyHasMaskError(_expectedValue: boolean): Promise<void> {
|
// Implements UIActionSOP, do nothing as no mask error
|
}
|
|
public async verifyTooltip(expectedValue: string): Promise<void> {
|
const tooltip = await QUtils.getTooltip(this.tooltipElement, true, true, true);
|
expect(tooltip).toBe(expectedValue, `Hover ${await this.getComponentLabel()} to verify tooltip.`);
|
}
|
|
public async verifyEnabled(_expectedEnable: boolean): Promise<void> {
|
// Label has no enable/disable state
|
}
|
|
public async verifyValue(expectedValue: string): Promise<void> {
|
expect(await this.getText()).toBe(expectedValue, `Verify label ${await this.getComponentLabel()}.`);
|
}
|
|
public async verifyVisible(expectedValue: string): Promise<void> {
|
expect(await this.isVisible()).toBe(expectedValue.toLowerCase() === 'true', `Verify visible state for label ${await this.getComponentLabel()}.`);
|
}
|
}
|