@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
text/typescript
/*******************************
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