UNPKG

@uuv/cypress

Version:

A solution to facilitate the writing and execution of E2E tests understandable by any human being using cucumber(BDD) and cypress

151 lines (127 loc) 5.89 kB
/******************************* NE PAS MODIFIER, FICHIER GENERE *******************************/ /** * Software Name : UUV * * SPDX-License-Identifier: MIT * * This software is distributed under the MIT License, * see the "LICENSE" file for more details * * Authors: NJAKO MOLOM Louis Fredice & SERVICAL Stanley * Software description: Make test writing fast, understandable by any human * understanding English or French. */ import { Then, When, } from "@badeball/cypress-cucumber-preprocessor"; import "../../../../../../cypress/commands"; import { click, findWithRoleAndName, findWithRoleAndNameAndAttribute, findWithRoleAndNameAndContent, findWithRoleAndNameAndContentDisabled, findWithRoleAndNameAndContentEnabled, findWithRoleAndNameDisabled, findWithRoleAndNameEnabled, findWithRoleAndNameFocused, notFoundWithRoleAndName, withinRoleAndName } from "../../../core-engine"; import { pressKey } from "../../../_.common"; // Begin of General Section /** * Selects the element whose [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and accessible [name](https://russmaxdesign.github.io/html-elements-names/) are specified <br />⚠ remember to deselect the element with <b>[I reset context](#i-reset-context)</b> if you're no longer acting on it * */ When(`within a math named {string}`, function(name: string) { withinRoleAndName("math", name); }); /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) * */ Then(`I should see a math named {string}`, function(name: string) { findWithRoleAndName("math", name); }); /** * Checks that an Html element does not exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types) and [name](https://russmaxdesign.github.io/html-elements-names/) * */ Then( `I should not see a math named {string}`, function(name: string) { notFoundWithRoleAndName("math", name); } ); // End of General Section // Begin of Type Section /** * Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field) * */ When(`I type the sentence {string} in the math named {string}`, function(textToType: string, name: string) { cy.uuvFindByRole("math", { name: name }).uuvFoundedElement().type(textToType); }); /** * Writes the sentence given as a parameter inside the specified field (useful for example to fill in a form field) * */ When(`I enter the value {string} in the math named {string}`, function(textToType: string, name: string) { cy.uuvFindByRole("math", { name: name }).uuvFoundedElement().type(textToType); }); /** * Checks that an Form element(input) exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and specified value * */ Then( `I should see a math named {string} with value {string}`, function(name: string, expectedValue: string) { cy.uuvFindByRole("math", { name: name }) .uuvFoundedElement() .should("exist") .should("have.value", expectedValue); } ); // End of Type Section // Begin of Content Section /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content * */ Then( `I should see a math named {string} and containing {string}`, function(name: string, expectedTextContent: string) { findWithRoleAndNameAndContent("math", name, expectedTextContent); } ); /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to true * */ Then( `I should see a math named {string} and containing {string} disabled`, function(name: string, expectedTextContent: string) { findWithRoleAndNameAndContentDisabled("math", name, expectedTextContent); } ); /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/) and content, and with the disabled attribute set to false * */ Then( `I should see a math named {string} and containing {string} enabled`, function(name: string, expectedTextContent: string) { findWithRoleAndNameAndContentEnabled("math", name, expectedTextContent); } ); /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/), and with the disabled attribute set to true * */ Then( `I should see a math named {string} disabled`, function(name: string) { findWithRoleAndNameDisabled("math", name); } ); /** * Checks that an Html element exists with the specified [accessible role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles#aria_role_types), [name](https://russmaxdesign.github.io/html-elements-names/), and with the disabled attribute set to false * */ Then( `I should see a math named {string} enabled`, function(name: string) { findWithRoleAndNameEnabled("math", name); } ); // End of Content Section