| /** | 
|  * @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()}.`); | 
|   } | 
| } |