saleor-dashboard/cypress/support/customCommands/basicOperations/index.js
Karolina Rakoczy 2b3c566e09
Update cypress version (#3053)
* update cypress

* Fix clearAndtypeCommand

* Fix selects

* Fix attribute query, and logging errored responses

* Fix mailhog commands

* Fix mailhog

* Fix for warehouses

* fix tests for plugins and sku

* Fix creating variants

* Fix plugins

* move cypress to optionalDependencies

* move cypress to optionalDependencies
2023-01-27 16:27:49 +01:00

37 lines
1 KiB
JavaScript

Cypress.Commands.add("getTextFromElement", element =>
cy.get(element).invoke("text"),
);
Cypress.Commands.add("clearAndType", { prevSubject: true }, (subject, text) => {
cy.wrap(subject).then(subject => {
if (subject.find("[contenteditable]").length > 0) {
cy.wrap(subject).find("[contenteditable]").clear().type(text);
} else {
cy.wrap(subject).clear().type(text);
}
});
});
Cypress.Commands.add("waitForRequestAndCheckIfNoErrors", alias => {
cy.wait(alias).then(resp => {
expect(
resp.response.body.errors,
`No errors in ${alias} operation in graphql response`,
).to.be.undefined;
return resp;
});
});
Cypress.Commands.add("checkIfDataAreNotNull", data => {
expect(data, "Created data should not be null").to.be.not.null;
if (typeof data === "object") {
Object.keys(data).forEach(key => {
cy.checkIfDataAreNotNull(data[key]);
});
} else if (Array.isArray(data)) {
expect(data).not.to.be.empty;
data.forEach(singleData => {
cy.checkIfDataAreNotNull(singleData);
});
}
});