systelab-components-wdio-test
Version:
Widgets to be use in the E2E Tests based in WDIO
68 lines (67 loc) • 2.32 kB
JavaScript
import { HttpStatus } from './http-status';
import { ErrorHandlerAPI } from './error-handler.api';
import { AutomationEnvironment, Browser } from '../../wdio';
import { JSONSchemaValidator } from './schema/json-schema-validator';
export class KeyboardAPI {
static async pressEscape(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
await Browser.pressEsc();
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
static async pressTab(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
await Browser.pressTab();
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
static async pressBackspace(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
await Browser.pressBackspace();
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
static async pressEnter(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
await Browser.pressEnter();
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
static async pressDelete(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
await Browser.pressDelete();
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
static async writeText(req, res) {
try {
AutomationEnvironment.setApplication(+req.params.id);
const requestBody = JSONSchemaValidator.validateApplicationWriteTextRequest(req.body);
await Browser.writeText(requestBody.stringToWrite);
return res.status(HttpStatus.NO_CONTENT).send();
}
catch (err) {
return ErrorHandlerAPI.handle(res, err);
}
}
}