saleor-dashboard/cypress/support/customCommands/user/index.js
wojteknowacki bf532939e2
Test navigation refactor (#3294)
* naviagtion aka permissions refactor
2023-03-09 09:18:07 +01:00

57 lines
1.5 KiB
JavaScript

import "../../api/requests/utils/index";
import { LOGIN_SELECTORS } from "../../../elements/account/login-selectors";
import { urlList } from "../../../fixtures/urlList";
import { TEST_ADMIN_USER } from "../../../fixtures/users";
Cypress.Commands.add("loginUser", () =>
cy
.get(LOGIN_SELECTORS.emailAddressInput)
.type(Cypress.env("USER_NAME"))
.get(LOGIN_SELECTORS.emailPasswordInput)
.type(Cypress.env("USER_PASSWORD"), { log: false })
.get(LOGIN_SELECTORS.signInButton)
.click(),
);
Cypress.Commands.add("loginInShop", () => {
cy.loginUserViaRequest("token");
});
Cypress.Commands.add("visitHomePageLoggedViaApi", user => {
cy.addAliasToGraphRequest("Home")
.loginUserViaRequest("auth", user)
.visit(urlList.homePage)
.waitForRequestAndCheckIfNoErrors("@Home");
});
Cypress.Commands.add(
"loginUserViaRequest",
(authorization = "auth", user = TEST_ADMIN_USER) => {
const mutation = `mutation TokenAuth{
tokenCreate(email: "${user.email}", password: "${user.password}") {
token
csrfToken
refreshToken
errors: errors {
code
field
message
}
user {
id
}
}
}`;
return cy.sendRequestWithQuery(mutation, null).then(resp => {
window.localStorage.setItem(
"_saleorCSRFToken",
resp.body.data.tokenCreate.csrfToken,
);
window.sessionStorage.setItem(
authorization,
resp.body.data.tokenCreate.token,
);
});
},
);