UNPKG

systelab-components-wdio-test

Version:
55 lines (54 loc) 2.31 kB
import { AutomationEnvironment, ElementFinderBuilder } from '../../wdio'; import { JSONSchemaValidator } from './schema/json-schema-validator'; import { HttpStatus } from './http-status'; import { ErrorHandlerAPI } from './error-handler.api'; export class ConditionWaitAPI { static async untilElementPresent(req, res) { try { AutomationEnvironment.setApplication(+req.params.id); const requestBody = JSONSchemaValidator.validateBasicElementRequest(req.body); const element = ElementFinderBuilder.build(requestBody.locators); await element.waitToBePresent(); return res.status(HttpStatus.NO_CONTENT).send(); } catch (err) { return ErrorHandlerAPI.handle(res, err); } } static async untilElementDisplayed(req, res) { try { AutomationEnvironment.setApplication(+req.params.id); const requestBody = JSONSchemaValidator.validateBasicElementRequest(req.body); const element = ElementFinderBuilder.build(requestBody.locators); await element.waitToBeDisplayed(); return res.status(HttpStatus.NO_CONTENT).send(); } catch (err) { return ErrorHandlerAPI.handle(res, err); } } static async untilElementClickable(req, res) { try { AutomationEnvironment.setApplication(+req.params.id); const requestBody = JSONSchemaValidator.validateBasicElementRequest(req.body); const element = ElementFinderBuilder.build(requestBody.locators); await element.waitToBeClickable(); return res.status(HttpStatus.NO_CONTENT).send(); } catch (err) { return ErrorHandlerAPI.handle(res, err); } } static async untilElementEnabled(req, res) { try { AutomationEnvironment.setApplication(+req.params.id); const requestBody = JSONSchemaValidator.validateBasicElementRequest(req.body); const element = ElementFinderBuilder.build(requestBody.locators); await element.waitToBeEnabled(); return res.status(HttpStatus.NO_CONTENT).send(); } catch (err) { return ErrorHandlerAPI.handle(res, err); } } }