import 'codeceptjs'; import { DewButton } from "../components/dewButton"; import { lmt } from '../Helpers/readI18NProp'; import { logger } from '../Logger/logger'; import { TextField } from './textfield'; /** * Range Filter class */ export class RangeFilter { /** * To select numeric range filter in listing Grid * * ```js * RangeFilter.selectNumericRangeFilter("Amount",10,100) * ``` * * @param {String} filterlabel Column Name in Listing Grid * @param {Number} fromRange Enter the start range value * @param {Number} toRange Enter to end range value */ static async selectNumericRangeFilter(filterlabel: String, fromRange: number, toRange: number) { try { // z.clearField(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'From')] | .//input[@numeric and contains(@aria-label,'From')]`); await TextField.enterTextUsingLocator(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'From')] | .//input[@numeric and contains(@aria-label,'From')]`, fromRange); // z.clearField(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'To')] | .//input[@numeric and contains(@aria-label,'To')]`); await TextField.enterTextUsingLocator(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'To')] | .//input[@numeric and contains(@aria-label,'To')]`, toRange); /* z.seeInField(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'From')] | .//input[@numeric and contains(@aria-label,'From')]`, fromRange); z.seeInField(`.//label[text()='${filterlabel}']/following-sibling::input[@numeric and contains(@aria-label,'To')] | .//input[@numeric and contains(@aria-label,'To')]`, toRange); */ await DewButton.click(await lmt.getLabel(`Apply`)); } catch (error) { logger.log(`Issue while performing operation in DDCC: Error while applying numeric range filter`); throw error; } } }