parent
5de9526350
commit
bf532939e2
81 changed files with 885 additions and 293 deletions
|
@ -4,7 +4,7 @@
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { APP_DETAILS } from "../elements/apps/appDetails";
|
import { APP_DETAILS } from "../elements/apps/appDetails";
|
||||||
import { APPS_LIST } from "../elements/apps/appsList";
|
import { APPS_LIST_SELECTORS } from "../elements/apps/appsList";
|
||||||
import { WEBHOOK_DETAILS } from "../elements/apps/webhookDetails";
|
import { WEBHOOK_DETAILS } from "../elements/apps/webhookDetails";
|
||||||
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
||||||
import { appDetailsUrl, urlList } from "../fixtures/urlList";
|
import { appDetailsUrl, urlList } from "../fixtures/urlList";
|
||||||
|
@ -108,8 +108,8 @@ describe("As a staff user I want to manage apps", () => {
|
||||||
() => {
|
() => {
|
||||||
const randomAppName = `${startsWith}${faker.datatype.number()}`;
|
const randomAppName = `${startsWith}${faker.datatype.number()}`;
|
||||||
|
|
||||||
cy.visit(urlList.apps)
|
cy.visit(urlList.webhooksAndEvents)
|
||||||
.get(APPS_LIST.createLocalAppButton)
|
.get(APPS_LIST_SELECTORS.createLocalAppButton)
|
||||||
.click()
|
.click()
|
||||||
.get(APP_DETAILS.nameInput)
|
.get(APP_DETAILS.nameInput)
|
||||||
.type(randomAppName)
|
.type(randomAppName)
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CATEGORIES_LIST,
|
CATEGORIES_LIST_SELECTORS,
|
||||||
categoryRow,
|
categoryRow,
|
||||||
} from "../../elements/catalog/categories/categories-list";
|
} from "../../elements/catalog/categories/categories-list";
|
||||||
import { CATEGORY_DETAILS } from "../../elements/catalog/categories/category-details";
|
import { CATEGORY_DETAILS_SELECTORS } from "../../elements/catalog/categories/category-details";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { categoryDetailsUrl, urlList } from "../../fixtures/urlList";
|
import { categoryDetailsUrl, urlList } from "../../fixtures/urlList";
|
||||||
|
@ -89,7 +89,7 @@ describe("As an admin I want to manage categories", () => {
|
||||||
const categoryName = `${startsWith}${faker.datatype.number()}`;
|
const categoryName = `${startsWith}${faker.datatype.number()}`;
|
||||||
|
|
||||||
cy.visit(urlList.categories)
|
cy.visit(urlList.categories)
|
||||||
.get(CATEGORIES_LIST.addCategoryButton)
|
.get(CATEGORIES_LIST_SELECTORS.addCategoryButton)
|
||||||
.click();
|
.click();
|
||||||
createCategory({ name: categoryName, description: categoryName })
|
createCategory({ name: categoryName, description: categoryName })
|
||||||
.its("response.body.data.categoryCreate.category")
|
.its("response.body.data.categoryCreate.category")
|
||||||
|
@ -111,11 +111,11 @@ describe("As an admin I want to manage categories", () => {
|
||||||
const categoryName = `${startsWith}${faker.datatype.number()}`;
|
const categoryName = `${startsWith}${faker.datatype.number()}`;
|
||||||
|
|
||||||
cy.visit(categoryDetailsUrl(category.id))
|
cy.visit(categoryDetailsUrl(category.id))
|
||||||
.get(CATEGORY_DETAILS.createSubcategoryButton)
|
.get(CATEGORY_DETAILS_SELECTORS.createSubcategoryButton)
|
||||||
.click();
|
.click();
|
||||||
createCategory({ name: categoryName, description: categoryName })
|
createCategory({ name: categoryName, description: categoryName })
|
||||||
.visit(categoryDetailsUrl(category.id))
|
.visit(categoryDetailsUrl(category.id))
|
||||||
.contains(CATEGORY_DETAILS.categoryChildrenRow, categoryName)
|
.contains(CATEGORY_DETAILS_SELECTORS.categoryChildrenRow, categoryName)
|
||||||
.scrollIntoView()
|
.scrollIntoView()
|
||||||
.should("be.visible");
|
.should("be.visible");
|
||||||
getCategory(category.id).then(categoryResp => {
|
getCategory(category.id).then(categoryResp => {
|
||||||
|
@ -129,9 +129,9 @@ describe("As an admin I want to manage categories", () => {
|
||||||
{ tags: ["@category", "@allEnv", "@stable"] },
|
{ tags: ["@category", "@allEnv", "@stable"] },
|
||||||
() => {
|
() => {
|
||||||
cy.visit(categoryDetailsUrl(category.id))
|
cy.visit(categoryDetailsUrl(category.id))
|
||||||
.get(CATEGORY_DETAILS.productsTab)
|
.get(CATEGORY_DETAILS_SELECTORS.productsTab)
|
||||||
.click()
|
.click()
|
||||||
.get(CATEGORY_DETAILS.addProducts)
|
.get(CATEGORY_DETAILS_SELECTORS.addProducts)
|
||||||
.click()
|
.click()
|
||||||
.url()
|
.url()
|
||||||
.should("include", urlList.addProduct);
|
.should("include", urlList.addProduct);
|
||||||
|
@ -143,9 +143,9 @@ describe("As an admin I want to manage categories", () => {
|
||||||
{ tags: ["@category", "@allEnv", "@stable"] },
|
{ tags: ["@category", "@allEnv", "@stable"] },
|
||||||
() => {
|
() => {
|
||||||
cy.visit(categoryDetailsUrl(category.id))
|
cy.visit(categoryDetailsUrl(category.id))
|
||||||
.get(CATEGORY_DETAILS.productsTab)
|
.get(CATEGORY_DETAILS_SELECTORS.productsTab)
|
||||||
.click();
|
.click();
|
||||||
cy.contains(CATEGORY_DETAILS.productRow, product.name)
|
cy.contains(CATEGORY_DETAILS_SELECTORS.productRow, product.name)
|
||||||
.find(BUTTON_SELECTORS.checkbox)
|
.find(BUTTON_SELECTORS.checkbox)
|
||||||
.click()
|
.click()
|
||||||
.get(BUTTON_SELECTORS.deleteIcon)
|
.get(BUTTON_SELECTORS.deleteIcon)
|
||||||
|
@ -154,7 +154,7 @@ describe("As an admin I want to manage categories", () => {
|
||||||
.get(BUTTON_SELECTORS.submit)
|
.get(BUTTON_SELECTORS.submit)
|
||||||
.click()
|
.click()
|
||||||
.confirmationMessageShouldDisappear();
|
.confirmationMessageShouldDisappear();
|
||||||
cy.contains(CATEGORY_DETAILS.productRow, product.name)
|
cy.contains(CATEGORY_DETAILS_SELECTORS.productRow, product.name)
|
||||||
.should("not.exist")
|
.should("not.exist")
|
||||||
.waitForRequestAndCheckIfNoErrors("@productBulkDelete");
|
.waitForRequestAndCheckIfNoErrors("@productBulkDelete");
|
||||||
getCategory(category.id).then(categoryResp => {
|
getCategory(category.id).then(categoryResp => {
|
||||||
|
|
|
@ -61,7 +61,7 @@ describe("Tests on inactive channel", () => {
|
||||||
{ tags: ["@channel", "@allEnv", "@stable"] },
|
{ tags: ["@channel", "@allEnv", "@stable"] },
|
||||||
() => {
|
() => {
|
||||||
cy.visit(urlList.orders)
|
cy.visit(urlList.orders)
|
||||||
.get(ORDERS_SELECTORS.createOrder)
|
.get(ORDERS_SELECTORS.createOrderButton)
|
||||||
.click()
|
.click()
|
||||||
.get(CHANNEL_FORM_SELECTORS.channelSelect)
|
.get(CHANNEL_FORM_SELECTORS.channelSelect)
|
||||||
.click()
|
.click()
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { CUSTOMER_DETAILS } from "../../elements/customer/customer-details";
|
import { CUSTOMER_DETAILS_SELECTORS } from "../../elements/customer/customer-details";
|
||||||
import { CUSTOMERS_LIST } from "../../elements/customer/customers-list";
|
import { CUSTOMERS_LIST_SELECTORS } from "../../elements/customer/customers-list";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { customerDetailsUrl, urlList } from "../../fixtures/urlList";
|
import { customerDetailsUrl, urlList } from "../../fixtures/urlList";
|
||||||
|
@ -43,18 +43,18 @@ describe("Tests for customer", () => {
|
||||||
const note = faker.lorem.paragraph();
|
const note = faker.lorem.paragraph();
|
||||||
|
|
||||||
cy.visit(urlList.customers)
|
cy.visit(urlList.customers)
|
||||||
.get(CUSTOMERS_LIST.createCustomerButton)
|
.get(CUSTOMERS_LIST_SELECTORS.createCustomerButton)
|
||||||
.click()
|
.click()
|
||||||
.get(SHARED_ELEMENTS.progressBar)
|
.get(SHARED_ELEMENTS.progressBar)
|
||||||
.should("not.be.visible")
|
.should("not.be.visible")
|
||||||
.get(CUSTOMER_DETAILS.customerAddressNameInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.customerAddressNameInput)
|
||||||
.type(randomName)
|
.type(randomName)
|
||||||
.get(CUSTOMER_DETAILS.customerAddressLastNameInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.customerAddressLastNameInput)
|
||||||
.type(randomName)
|
.type(randomName)
|
||||||
.get(CUSTOMER_DETAILS.emailInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.emailInput)
|
||||||
.type(email)
|
.type(email)
|
||||||
.fillUpAddressForm(address)
|
.fillUpAddressForm(address)
|
||||||
.get(CUSTOMER_DETAILS.noteInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.noteInput)
|
||||||
.type(note)
|
.type(note)
|
||||||
.addAliasToGraphRequest("CreateCustomer")
|
.addAliasToGraphRequest("CreateCustomer")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
@ -90,9 +90,9 @@ describe("Tests for customer", () => {
|
||||||
|
|
||||||
createCustomer(email, randomName).then(({ user }) => {
|
createCustomer(email, randomName).then(({ user }) => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.manageAddressesButton)
|
.get(CUSTOMER_DETAILS_SELECTORS.manageAddressesButton)
|
||||||
.click()
|
.click()
|
||||||
.get(CUSTOMER_DETAILS.addAddressButton)
|
.get(CUSTOMER_DETAILS_SELECTORS.addAddressButton)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("CreateCustomerAddress")
|
.addAliasToGraphRequest("CreateCustomerAddress")
|
||||||
.fillUpAddressFormAndSubmit(secondAddress)
|
.fillUpAddressFormAndSubmit(secondAddress)
|
||||||
|
@ -114,14 +114,14 @@ describe("Tests for customer", () => {
|
||||||
|
|
||||||
createCustomer(email, randomName, address).then(({ user }) => {
|
createCustomer(email, randomName, address).then(({ user }) => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.manageAddressesButton)
|
.get(CUSTOMER_DETAILS_SELECTORS.manageAddressesButton)
|
||||||
.click()
|
.click()
|
||||||
.waitForProgressBarToNotExist()
|
.waitForProgressBarToNotExist()
|
||||||
.get(BUTTON_SELECTORS.showMoreButton)
|
.get(BUTTON_SELECTORS.showMoreButton)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.first()
|
.first()
|
||||||
.click()
|
.click()
|
||||||
.get(CUSTOMER_DETAILS.deleteAddressMenuItem)
|
.get(CUSTOMER_DETAILS_SELECTORS.deleteAddressMenuItem)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("RemoveCustomerAddress")
|
.addAliasToGraphRequest("RemoveCustomerAddress")
|
||||||
.get(BUTTON_SELECTORS.submit)
|
.get(BUTTON_SELECTORS.submit)
|
||||||
|
@ -149,14 +149,14 @@ describe("Tests for customer", () => {
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.manageAddressesButton)
|
.get(CUSTOMER_DETAILS_SELECTORS.manageAddressesButton)
|
||||||
.click()
|
.click()
|
||||||
.waitForProgressBarToNotExist()
|
.waitForProgressBarToNotExist()
|
||||||
.get(BUTTON_SELECTORS.showMoreButton)
|
.get(BUTTON_SELECTORS.showMoreButton)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("SetCustomerDefaultAddress")
|
.addAliasToGraphRequest("SetCustomerDefaultAddress")
|
||||||
.get(CUSTOMER_DETAILS.setAddressAsDefaultShipping)
|
.get(CUSTOMER_DETAILS_SELECTORS.setAddressAsDefaultShipping)
|
||||||
.click()
|
.click()
|
||||||
.wait("@SetCustomerDefaultAddress");
|
.wait("@SetCustomerDefaultAddress");
|
||||||
getCustomer(user.id);
|
getCustomer(user.id);
|
||||||
|
@ -167,7 +167,7 @@ describe("Tests for customer", () => {
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("SetCustomerDefaultAddress")
|
.addAliasToGraphRequest("SetCustomerDefaultAddress")
|
||||||
.get(CUSTOMER_DETAILS.setAddressAsDefaultBilling)
|
.get(CUSTOMER_DETAILS_SELECTORS.setAddressAsDefaultBilling)
|
||||||
.click()
|
.click()
|
||||||
.wait("@SetCustomerDefaultAddress");
|
.wait("@SetCustomerDefaultAddress");
|
||||||
getCustomer(user.id);
|
getCustomer(user.id);
|
||||||
|
@ -187,13 +187,13 @@ describe("Tests for customer", () => {
|
||||||
|
|
||||||
createCustomer(email, randomName, address).then(({ user }) => {
|
createCustomer(email, randomName, address).then(({ user }) => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.manageAddressesButton)
|
.get(CUSTOMER_DETAILS_SELECTORS.manageAddressesButton)
|
||||||
.click()
|
.click()
|
||||||
.get(BUTTON_SELECTORS.showMoreButton)
|
.get(BUTTON_SELECTORS.showMoreButton)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.first()
|
.first()
|
||||||
.click()
|
.click()
|
||||||
.get(CUSTOMER_DETAILS.editAddressMenuitem)
|
.get(CUSTOMER_DETAILS_SELECTORS.editAddressMenuitem)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("UpdateCustomerAddress")
|
.addAliasToGraphRequest("UpdateCustomerAddress")
|
||||||
.fillUpAddressFormAndSubmit(secondAddress)
|
.fillUpAddressFormAndSubmit(secondAddress)
|
||||||
|
@ -239,7 +239,7 @@ describe("Tests for customer", () => {
|
||||||
|
|
||||||
createCustomer(email, randomName, address, true).then(({ user }) => {
|
createCustomer(email, randomName, address, true).then(({ user }) => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.activeCheckbox)
|
.get(CUSTOMER_DETAILS_SELECTORS.activeCheckbox)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("UpdateCustomer")
|
.addAliasToGraphRequest("UpdateCustomer")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
@ -262,13 +262,13 @@ describe("Tests for customer", () => {
|
||||||
|
|
||||||
createCustomer(email, randomName, address, true).then(({ user }) => {
|
createCustomer(email, randomName, address, true).then(({ user }) => {
|
||||||
cy.visit(customerDetailsUrl(user.id))
|
cy.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.nameInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.nameInput)
|
||||||
.clearAndType(updatedName)
|
.clearAndType(updatedName)
|
||||||
.get(CUSTOMER_DETAILS.lastNameInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.lastNameInput)
|
||||||
.clearAndType(updatedName)
|
.clearAndType(updatedName)
|
||||||
.get(CUSTOMER_DETAILS.noteInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.noteInput)
|
||||||
.clearAndType(updatedName)
|
.clearAndType(updatedName)
|
||||||
.get(CUSTOMER_DETAILS.emailInput)
|
.get(CUSTOMER_DETAILS_SELECTORS.emailInput)
|
||||||
.clearAndType(`${updatedName}@example.com`)
|
.clearAndType(`${updatedName}@example.com`)
|
||||||
.addAliasToGraphRequest("UpdateCustomer")
|
.addAliasToGraphRequest("UpdateCustomer")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { PERMISSION_GROUP_DETAILS } from "../../elements/permissionGroup/permissionGroupDetails";
|
import { PERMISSION_GROUP_DETAILS_SELECTORS } from "../../elements/permissionGroup/permissionGroupDetails";
|
||||||
import { PERMISSION_GROUP_LIST } from "../../elements/permissionGroup/permissionGroupsList";
|
import { PERMISSION_GROUP_LIST_SELECTORS } from "../../elements/permissionGroup/permissionGroupsList";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import {
|
import {
|
||||||
|
@ -40,25 +40,25 @@ describe("Permissions groups", () => {
|
||||||
const permissionName = `${startsWith}${faker.datatype.number()}`;
|
const permissionName = `${startsWith}${faker.datatype.number()}`;
|
||||||
|
|
||||||
cy.visit(urlList.permissionsGroups)
|
cy.visit(urlList.permissionsGroups)
|
||||||
.get(PERMISSION_GROUP_LIST.createPermissionButton)
|
.get(PERMISSION_GROUP_LIST_SELECTORS.createPermissionButton)
|
||||||
.click()
|
.click()
|
||||||
.get(PERMISSION_GROUP_DETAILS.nameInput)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.nameInput)
|
||||||
.type(permissionName)
|
.type(permissionName)
|
||||||
.get(PERMISSION_GROUP_DETAILS.productsPermissionCheckbox)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.productsPermissionCheckbox)
|
||||||
.check()
|
.check()
|
||||||
.get(
|
.get(
|
||||||
PERMISSION_GROUP_DETAILS.productsTypesAndAttributesPermissionCheckbox,
|
PERMISSION_GROUP_DETAILS_SELECTORS.productsTypesAndAttributesPermissionCheckbox,
|
||||||
)
|
)
|
||||||
.check()
|
.check()
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
.click()
|
.click()
|
||||||
.get(PERMISSION_GROUP_DETAILS.assignMemberButton)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.assignMemberButton)
|
||||||
.should("be.visible")
|
.should("be.visible")
|
||||||
.get(BUTTON_SELECTORS.back)
|
.get(BUTTON_SELECTORS.back)
|
||||||
.click()
|
.click()
|
||||||
.waitForProgressBarToNotExist();
|
.waitForProgressBarToNotExist();
|
||||||
cy.contains(
|
cy.contains(
|
||||||
PERMISSION_GROUP_LIST.permissionGroupRow,
|
PERMISSION_GROUP_LIST_SELECTORS.permissionGroupRow,
|
||||||
permissionName,
|
permissionName,
|
||||||
).should("be.visible");
|
).should("be.visible");
|
||||||
},
|
},
|
||||||
|
@ -82,13 +82,19 @@ describe("Permissions groups", () => {
|
||||||
permissionsArray: permissionManageProducts,
|
permissionsArray: permissionManageProducts,
|
||||||
});
|
});
|
||||||
cy.visit(urlList.permissionsGroups);
|
cy.visit(urlList.permissionsGroups);
|
||||||
cy.contains(PERMISSION_GROUP_LIST.permissionGroupRow, permissionName)
|
cy.contains(
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS.permissionGroupRow,
|
||||||
|
permissionName,
|
||||||
|
)
|
||||||
.should("be.visible")
|
.should("be.visible")
|
||||||
.find(BUTTON_SELECTORS.deleteIcon)
|
.find(BUTTON_SELECTORS.deleteIcon)
|
||||||
.click()
|
.click()
|
||||||
.get(BUTTON_SELECTORS.submit)
|
.get(BUTTON_SELECTORS.submit)
|
||||||
.click();
|
.click();
|
||||||
cy.contains(PERMISSION_GROUP_LIST.permissionGroupRow, permissionName)
|
cy.contains(
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS.permissionGroupRow,
|
||||||
|
permissionName,
|
||||||
|
)
|
||||||
.should("not.exist")
|
.should("not.exist")
|
||||||
.visit(staffMemberDetailsUrl(staffMember.id))
|
.visit(staffMemberDetailsUrl(staffMember.id))
|
||||||
.get(SHARED_ELEMENTS.header)
|
.get(SHARED_ELEMENTS.header)
|
||||||
|
@ -110,12 +116,12 @@ describe("Permissions groups", () => {
|
||||||
permissionsArray: permissionManageProducts,
|
permissionsArray: permissionManageProducts,
|
||||||
}).then(({ group }) => {
|
}).then(({ group }) => {
|
||||||
cy.visit(permissionGroupDetails(group.id))
|
cy.visit(permissionGroupDetails(group.id))
|
||||||
.get(PERMISSION_GROUP_DETAILS.assignMemberButton)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.assignMemberButton)
|
||||||
.click()
|
.click()
|
||||||
.get(PERMISSION_GROUP_DETAILS.searchField)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.searchField)
|
||||||
.type(TEST_ADMIN_USER.email);
|
.type(TEST_ADMIN_USER.email);
|
||||||
cy.contains(
|
cy.contains(
|
||||||
PERMISSION_GROUP_DETAILS.userRow,
|
PERMISSION_GROUP_DETAILS_SELECTORS.userRow,
|
||||||
`${TEST_ADMIN_USER.name} ${TEST_ADMIN_USER.lastName}`,
|
`${TEST_ADMIN_USER.name} ${TEST_ADMIN_USER.lastName}`,
|
||||||
)
|
)
|
||||||
.should("have.length", 1)
|
.should("have.length", 1)
|
||||||
|
@ -156,7 +162,7 @@ describe("Permissions groups", () => {
|
||||||
})
|
})
|
||||||
.then(({ group }) => {
|
.then(({ group }) => {
|
||||||
cy.visit(permissionGroupDetails(group.id))
|
cy.visit(permissionGroupDetails(group.id))
|
||||||
.get(PERMISSION_GROUP_DETAILS.removeUserButton)
|
.get(PERMISSION_GROUP_DETAILS_SELECTORS.removeUserButton)
|
||||||
.click()
|
.click()
|
||||||
.get(BUTTON_SELECTORS.submit)
|
.get(BUTTON_SELECTORS.submit)
|
||||||
.click()
|
.click()
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { PLUGINS_DETAILS } from "../../../elements/plugins/pluginDetails";
|
import { PLUGINS_DETAILS_SELECTORS } from "../../../elements/plugins/pluginDetails";
|
||||||
import { PLUGINS_LIST } from "../../../elements/plugins/pluginsList";
|
import { PLUGINS_LIST_SELECTORS } from "../../../elements/plugins/pluginsList";
|
||||||
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||||
import { urlList } from "../../../fixtures/urlList";
|
import { urlList } from "../../../fixtures/urlList";
|
||||||
import {
|
import {
|
||||||
|
@ -55,12 +55,12 @@ describe("As an admin I want to manage plugins", () => {
|
||||||
() => {
|
() => {
|
||||||
const customerEmail = `${randomName}@example.com`;
|
const customerEmail = `${randomName}@example.com`;
|
||||||
|
|
||||||
cy.contains(PLUGINS_LIST.pluginRow, "User emails")
|
cy.contains(PLUGINS_LIST_SELECTORS.pluginRow, "User emails")
|
||||||
.click()
|
.click()
|
||||||
.waitForProgressBarToNotBeVisible();
|
.waitForProgressBarToNotBeVisible();
|
||||||
cy.contains(PLUGINS_DETAILS.channel, defaultChannel.name)
|
cy.contains(PLUGINS_DETAILS_SELECTORS.channel, defaultChannel.name)
|
||||||
.click()
|
.click()
|
||||||
.get(PLUGINS_DETAILS.accountConfirmationSubjectInput)
|
.get(PLUGINS_DETAILS_SELECTORS.accountConfirmationSubjectInput)
|
||||||
.clearAndType(randomName)
|
.clearAndType(randomName)
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
.click()
|
.click()
|
||||||
|
@ -81,9 +81,9 @@ describe("As an admin I want to manage plugins", () => {
|
||||||
() => {
|
() => {
|
||||||
const adminName = `Admin${randomName}`;
|
const adminName = `Admin${randomName}`;
|
||||||
|
|
||||||
cy.contains(PLUGINS_LIST.pluginRow, "Admin emails")
|
cy.contains(PLUGINS_LIST_SELECTORS.pluginRow, "Admin emails")
|
||||||
.click()
|
.click()
|
||||||
.get(PLUGINS_DETAILS.staffPasswordResetInput)
|
.get(PLUGINS_DETAILS_SELECTORS.staffPasswordResetInput)
|
||||||
.click()
|
.click()
|
||||||
.clear()
|
.clear()
|
||||||
.clearAndType(adminName)
|
.clearAndType(adminName)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { PRODUCT_TYPE_DETAILS } from "../../../elements/productTypes/productTypeDetails";
|
import { PRODUCT_TYPE_DETAILS_SELECTORS } from "../../../elements/productTypes/productTypeDetails";
|
||||||
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||||
import { productTypeDetailsUrl } from "../../../fixtures/urlList";
|
import { productTypeDetailsUrl } from "../../../fixtures/urlList";
|
||||||
import { createAttribute } from "../../../support/api/requests/Attribute";
|
import { createAttribute } from "../../../support/api/requests/Attribute";
|
||||||
|
@ -40,7 +40,7 @@ describe("As an admin I want to manage attributes in product types", () => {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(
|
cy.visitAndWaitForProgressBarToDisappear(
|
||||||
productTypeDetailsUrl(productType.id),
|
productTypeDetailsUrl(productType.id),
|
||||||
)
|
)
|
||||||
.get(PRODUCT_TYPE_DETAILS.assignProductAttributeButton)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.assignProductAttributeButton)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("AssignProductAttribute")
|
.addAliasToGraphRequest("AssignProductAttribute")
|
||||||
.assignElements(startsWith)
|
.assignElements(startsWith)
|
||||||
|
@ -65,10 +65,10 @@ describe("As an admin I want to manage attributes in product types", () => {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(
|
cy.visitAndWaitForProgressBarToDisappear(
|
||||||
productTypeDetailsUrl(productType.id),
|
productTypeDetailsUrl(productType.id),
|
||||||
)
|
)
|
||||||
.get(PRODUCT_TYPE_DETAILS.hasVariantsButton)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.hasVariantsButton)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.click({ force: true })
|
.click({ force: true })
|
||||||
.get(PRODUCT_TYPE_DETAILS.assignVariantAttributeButton)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.assignVariantAttributeButton)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("AssignProductAttribute")
|
.addAliasToGraphRequest("AssignProductAttribute")
|
||||||
.assignElements(startsWith)
|
.assignElements(startsWith)
|
||||||
|
@ -100,7 +100,7 @@ describe("As an admin I want to manage attributes in product types", () => {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(
|
cy.visitAndWaitForProgressBarToDisappear(
|
||||||
productTypeDetailsUrl(productType.id),
|
productTypeDetailsUrl(productType.id),
|
||||||
)
|
)
|
||||||
.get(PRODUCT_TYPE_DETAILS.nameInput)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.nameInput)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.get(BUTTON_SELECTORS.deleteIcon)
|
.get(BUTTON_SELECTORS.deleteIcon)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
|
@ -133,7 +133,7 @@ describe("As an admin I want to manage attributes in product types", () => {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(
|
cy.visitAndWaitForProgressBarToDisappear(
|
||||||
productTypeDetailsUrl(productType.id),
|
productTypeDetailsUrl(productType.id),
|
||||||
)
|
)
|
||||||
.get(PRODUCT_TYPE_DETAILS.nameInput)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.nameInput)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
.get(BUTTON_SELECTORS.deleteIcon)
|
.get(BUTTON_SELECTORS.deleteIcon)
|
||||||
.should("be.enabled")
|
.should("be.enabled")
|
||||||
|
@ -166,7 +166,7 @@ describe("As an admin I want to manage attributes in product types", () => {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(
|
cy.visitAndWaitForProgressBarToDisappear(
|
||||||
productTypeDetailsUrl(productType.id),
|
productTypeDetailsUrl(productType.id),
|
||||||
)
|
)
|
||||||
.get(PRODUCT_TYPE_DETAILS.variantSelectionCheckbox)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.variantSelectionCheckbox)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("ProductAttributeAssignmentUpdate")
|
.addAliasToGraphRequest("ProductAttributeAssignmentUpdate")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { CUSTOMER_DETAILS } from "../elements/customers/customer-details";
|
import { CUSTOMER_DETAILS_SELECTORS } from "../elements/customers/customer-details";
|
||||||
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
||||||
import { customerDetailsUrl } from "../fixtures/urlList";
|
import { customerDetailsUrl } from "../fixtures/urlList";
|
||||||
import {
|
import {
|
||||||
|
@ -76,7 +76,7 @@ describe("Tests for customer registration", () => {
|
||||||
cy.clearSessionData()
|
cy.clearSessionData()
|
||||||
.loginUserViaRequest()
|
.loginUserViaRequest()
|
||||||
.visit(customerDetailsUrl(user.id))
|
.visit(customerDetailsUrl(user.id))
|
||||||
.get(CUSTOMER_DETAILS.isActiveCheckbox)
|
.get(CUSTOMER_DETAILS_SELECTORS.isActiveCheckbox)
|
||||||
.click()
|
.click()
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
.click()
|
.click()
|
||||||
|
|
|
@ -2,98 +2,460 @@
|
||||||
/// <reference types="../support"/>
|
/// <reference types="../support"/>
|
||||||
|
|
||||||
import {
|
import {
|
||||||
APP_MENU_SELECTORS,
|
ADDRESS_SELECTORS,
|
||||||
appCommonSelector,
|
APPS_LIST_SELECTORS,
|
||||||
LEFT_MENU_SELECTORS,
|
CATEGORIES_LIST_SELECTORS,
|
||||||
} from "../elements/account/left-menu/left-menu-selectors";
|
CHANNELS_SELECTORS,
|
||||||
|
COLLECTION_SELECTORS,
|
||||||
|
CONFIGURATION_SELECTORS,
|
||||||
|
CUSTOMERS_LIST_SELECTORS,
|
||||||
|
DRAFT_ORDERS_LIST_SELECTORS,
|
||||||
|
LANGUAGES_LIST_SELECTORS,
|
||||||
|
MENU_SELECTORS,
|
||||||
|
ORDERS_SELECTORS,
|
||||||
|
PAGE_TYPES_LIST_SELECTORS,
|
||||||
|
PAGES_LIST_SELECTORS,
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS,
|
||||||
|
PLUGINS_LIST_SELECTORS,
|
||||||
|
PRODUCT_TYPES_LIST_SELECTORS,
|
||||||
|
SALES_SELECTORS,
|
||||||
|
SHIPPING_ZONES_LIST_SELECTORS,
|
||||||
|
STAFF_MEMBERS_LIST_SELECTORS,
|
||||||
|
VOUCHERS_SELECTORS,
|
||||||
|
} from "../elements/";
|
||||||
import { PERMISSIONS_OPTIONS } from "../fixtures/permissionsUsers";
|
import { PERMISSIONS_OPTIONS } from "../fixtures/permissionsUsers";
|
||||||
import * as permissionsSteps from "../support/pages/permissionsPage";
|
import { urlList } from "../fixtures/urlList";
|
||||||
|
import {
|
||||||
// TODO: fix this test after release of new dashboard with sidebar
|
expectConfigurationAvailableSectionsNumber,
|
||||||
describe.skip("As a staff user I want to navigate through shop using different permissions", () => {
|
expectConfigurationSectionsToBeVisible,
|
||||||
const permissionsOptions = PERMISSIONS_OPTIONS;
|
} from "../support/pages/configurationPage";
|
||||||
|
import {
|
||||||
before(() => {
|
expectMainMenuAvailableSections,
|
||||||
cy.loginUserViaRequest()
|
expectMainMenuSectionsToBeVisible,
|
||||||
.visit("/")
|
} from "../support/pages/mainMenuPage";
|
||||||
.get(appCommonSelector)
|
|
||||||
.should("be.visible")
|
|
||||||
.get("body")
|
|
||||||
.then($body => {
|
|
||||||
// This will be deleted when Marketplace is released
|
|
||||||
// Consider this solution as temporary
|
|
||||||
|
|
||||||
let appPermissions;
|
|
||||||
|
|
||||||
if ($body.find(LEFT_MENU_SELECTORS.appSection).length) {
|
|
||||||
appPermissions = {
|
|
||||||
parent: {
|
|
||||||
parentMenuSelector: LEFT_MENU_SELECTORS.appSection,
|
|
||||||
parentSelectors: [APP_MENU_SELECTORS],
|
|
||||||
},
|
|
||||||
permissionSelectors: [APP_MENU_SELECTORS.app],
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
appPermissions = {
|
|
||||||
permissionSelectors: [LEFT_MENU_SELECTORS.app],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
permissionsOptions.all.permissions.push(appPermissions);
|
|
||||||
permissionsOptions.app.permissions = [appPermissions];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
Object.keys(permissionsOptions).forEach(key => {
|
|
||||||
if (key !== "all") {
|
|
||||||
it(
|
|
||||||
`should be able to navigate through shop as a staff member using ${key} permission. ${permissionsOptions[key].testCase}`,
|
|
||||||
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease"] },
|
|
||||||
() => {
|
|
||||||
const permissionOption = permissionsOptions[key];
|
|
||||||
const permissions = permissionOption.permissions;
|
|
||||||
|
|
||||||
|
describe("As a staff user I want to navigate through shop using different permissions", () => {
|
||||||
|
beforeEach(() => {
|
||||||
cy.clearSessionData();
|
cy.clearSessionData();
|
||||||
permissionsSteps.navigateToAllAvailablePageAndCheckIfDisplayed(
|
|
||||||
permissionOption,
|
|
||||||
);
|
|
||||||
permissionsSteps.getDisplayedSelectors().then(selectors => {
|
|
||||||
permissionsSteps.expectAllSelectorsPermitted(
|
|
||||||
permissions,
|
|
||||||
selectors,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
if (!permissions) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
permissions.forEach(permission => {
|
|
||||||
if (permission.parent) {
|
|
||||||
cy.get(permission.parent.parentMenuSelector).click();
|
|
||||||
permissionsSteps
|
|
||||||
.getDisplayedSelectors(permission.parent.parentSelectors)
|
|
||||||
.then(parentSelectors => {
|
|
||||||
permissionsSteps.expectAllSelectorsPermitted(
|
|
||||||
permissions,
|
|
||||||
parentSelectors,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using DISCOUNTS permission. TC: SALEOR_3405a - sales list`,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.discount.user);
|
||||||
|
cy.addAliasToGraphRequest("SaleList")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.discounts)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@SaleList");
|
||||||
|
cy.checkIfElementIsVisible(SALES_SELECTORS.createSaleButton);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using DISCOUNTS permission. TC: SALEOR_3405b - voucher list`,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("VoucherList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.discount.user)
|
||||||
|
.visit(urlList.vouchers)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@VoucherList");
|
||||||
|
cy.checkIfElementIsVisible(VOUCHERS_SELECTORS.createVoucherButton);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
it(
|
it(
|
||||||
`should be able to navigate through shop as a staff member using all permissions. ${permissionsOptions.all.testCase}`,
|
`should be able to navigate through shop as a staff member using ORDER permission. TC: SALEOR_3407a - order list `,
|
||||||
{ tags: ["@critical", "@allEnv", "@navigation", "@stable", "@oldRelease"] },
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
() => {
|
() => {
|
||||||
const permissionOption = permissionsOptions.all;
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.order.user);
|
||||||
|
cy.addAliasToGraphRequest("OrderList")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.orders)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@OrderList")
|
||||||
|
.then(() => {
|
||||||
|
expectMainMenuAvailableSections(3);
|
||||||
|
expectMainMenuSectionsToBeVisible(
|
||||||
|
MENU_SELECTORS.ORDERS.orders,
|
||||||
|
MENU_SELECTORS.ORDERS.draftOrders,
|
||||||
|
);
|
||||||
|
cy.get(MENU_SELECTORS.ORDERS.orders)
|
||||||
|
.last()
|
||||||
|
.click()
|
||||||
|
.then(() => {
|
||||||
|
cy.checkIfElementIsVisible(ORDERS_SELECTORS.createOrderButton);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
cy.clearSessionData();
|
it(
|
||||||
permissionsSteps.navigateToAllAvailablePageAndCheckIfDisplayed(
|
`should be able to navigate through shop as a staff member using ORDER permission. TC: SALEOR_3407b - draft list`,
|
||||||
permissionOption,
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("OrderDraftList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.order.user)
|
||||||
|
.visit(urlList.draftOrders)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@OrderDraftList");
|
||||||
|
expectMainMenuAvailableSections(3);
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
DRAFT_ORDERS_LIST_SELECTORS.createDraftOrderButton,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using APP permission. TC: SALEOR_3402 - app list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.app.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.addAliasToGraphRequest("AppsList")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.app)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@AppsList")
|
||||||
|
.then(() => {
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
APPS_LIST_SELECTORS.createExternalAppButton,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using CHANNEL permission. TC: SALEOR_3403 - channels list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.channel.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(3);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
CONFIGURATION_SELECTORS.channels,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("Channels")
|
||||||
|
.get(CONFIGURATION_SELECTORS.channels)
|
||||||
|
.click()
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@Channels");
|
||||||
|
cy.checkIfElementIsVisible(CHANNELS_SELECTORS.createChannelButton);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using CHANNEL permission. TC: SALEOR_3403b - webhooks and events `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("AppsList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.channel.user)
|
||||||
|
.visit(urlList.webhooksAndEvents)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@AppsList");
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.checkIfElementIsVisible(APPS_LIST_SELECTORS.createLocalAppButton);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using CUSTOMER permission. TC: SALEOR_3404 - customer list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.customer.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.addAliasToGraphRequest("ListCustomers")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.customers)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@ListCustomers")
|
||||||
|
.then(() => {
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
CUSTOMERS_LIST_SELECTORS.createCustomerButton,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
// //TODO fix when permissions bug is fixed
|
||||||
|
it.skip(
|
||||||
|
`should be able to navigate through shop as a staff member using GIFT CARD permission. TC: SALEOR_3406 - gift cards `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.giftCard.user).visit(
|
||||||
|
urlList.homePage,
|
||||||
|
);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.products).then(() => {
|
||||||
|
cy.get(MENU_SELECTORS.CATALOG.giftCards).should("be.visible");
|
||||||
|
expectMainMenuAvailableSections(3);
|
||||||
|
cy.addAliasToGraphRequest("GiftCardList")
|
||||||
|
.clickOnElement(MENU_SELECTORS.CATALOG.giftCards)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@GiftCardList");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PAGE permission. TC: SALEOR_3408 - page list`,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.page.user);
|
||||||
|
expectMainMenuAvailableSections(3);
|
||||||
|
expectMainMenuSectionsToBeVisible(MENU_SELECTORS.MENU.pages);
|
||||||
|
cy.addAliasToGraphRequest("SearchPageTypes")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.pages)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@SearchPageTypes")
|
||||||
|
.then(() => {
|
||||||
|
cy.checkIfElementIsVisible(PAGES_LIST_SELECTORS.createPageButton);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(3);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
CONFIGURATION_SELECTORS.pageTypes,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PAGE - permission. TC: SALEOR_3408b - page types list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("PageTypeList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.page.user)
|
||||||
|
.visit(urlList.pageTypes)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@PageTypeList");
|
||||||
|
expectMainMenuAvailableSections(3);
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
PAGE_TYPES_LIST_SELECTORS.createPageTypeButton,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PLUGIN permission. TC: SALEOR_3409 - plugins list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.plugin.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(3);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
CONFIGURATION_SELECTORS.plugin,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("Plugins")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.plugin)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@Plugins");
|
||||||
|
cy.checkIfElementIsVisible(PLUGINS_LIST_SELECTORS.pluginRow);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PRODUCT TYPE AND ATTRIBUTE permission. TC: SALEOR_3411 - product type list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(
|
||||||
|
PERMISSIONS_OPTIONS.productTypeAndAttribute.user,
|
||||||
|
);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(4);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.productTypes,
|
||||||
|
CONFIGURATION_SELECTORS.attributes,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("ProductTypeList")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.productTypes)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@ProductTypeList");
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
PRODUCT_TYPES_LIST_SELECTORS.addProductTypeButton,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
// //TODO fix when permissions bug is fixed
|
||||||
|
it.skip(
|
||||||
|
`should be able to navigate through shop as a staff member using PRODUCT TYPE AND ATTRIBUTE permission. TC: SALEOR_3411b - attribute list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("AttributeList")
|
||||||
|
.loginUserViaRequest(
|
||||||
|
"auth",
|
||||||
|
PERMISSIONS_OPTIONS.productTypeAndAttribute.user,
|
||||||
|
)
|
||||||
|
.visit(urlList.attributes)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@AttributeList");
|
||||||
|
// expectMainMenuAvailableSections(2);
|
||||||
|
cy.checkIfElementIsVisible(ATTRIBUTES_LIST.createAttributeButton);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PAGE TYPE AND ATTRIBUTE permission. TC: SALEOR_3412 - page type list`,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(
|
||||||
|
PERMISSIONS_OPTIONS.pageTypeAndAttribute.user,
|
||||||
|
);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(4);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.attributes,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
CONFIGURATION_SELECTORS.pageTypes,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("PageTypeList")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.pageTypes)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@PageTypeList");
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
PAGE_TYPES_LIST_SELECTORS.createPageTypeButton,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using SETTINGS permission. TC: SALEOR_3413 - company settings `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.settings.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(3);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.settings,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("SiteSettings")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.settings)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@SiteSettings");
|
||||||
|
cy.get(ADDRESS_SELECTORS.companyInfoSection)
|
||||||
|
.scrollIntoView()
|
||||||
|
.should("be.visible");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using STAFF permission. TC: SALEOR_3414 - staff list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.staff.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(4);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.permissionGroups,
|
||||||
|
CONFIGURATION_SELECTORS.staffMembers,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("StaffList")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.staffMembers)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@StaffList");
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
STAFF_MEMBERS_LIST_SELECTORS.inviteStaffMemberButton,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using STAFF permission. TC: SALEOR_3414b - permission group `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("PermissionGroupList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.staff.user)
|
||||||
|
.visit(urlList.permissionsGroups)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@PermissionGroupList");
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS.createPermissionButton,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using SHIPPING permission. TC: SALEOR_3415 - shipping zones `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.shipping.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.configuration).then(() => {
|
||||||
|
expectConfigurationAvailableSectionsNumber(3);
|
||||||
|
expectConfigurationSectionsToBeVisible(
|
||||||
|
CONFIGURATION_SELECTORS.taxes,
|
||||||
|
CONFIGURATION_SELECTORS.shipping,
|
||||||
|
CONFIGURATION_SELECTORS.webhooks,
|
||||||
|
);
|
||||||
|
cy.addAliasToGraphRequest("ShippingZones")
|
||||||
|
.clickOnElement(CONFIGURATION_SELECTORS.shipping)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@ShippingZones");
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
SHIPPING_ZONES_LIST_SELECTORS.addShippingZone,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using TRANSLATION permission. TC: SALEOR_3416 - translations list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.translations.user);
|
||||||
|
expectMainMenuAvailableSections(2);
|
||||||
|
cy.clickOnElement(MENU_SELECTORS.MENU.translations).then(() => {
|
||||||
|
cy.checkIfElementIsVisible(
|
||||||
|
LANGUAGES_LIST_SELECTORS.translationListView,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PRODUCT permission. TC: SALEOR_3410a - products list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.visitHomePageLoggedViaApi(PERMISSIONS_OPTIONS.product.user);
|
||||||
|
cy.addAliasToGraphRequest("ProductList")
|
||||||
|
.clickOnElement(MENU_SELECTORS.MENU.products)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@ProductList")
|
||||||
|
.then(() => {
|
||||||
|
cy.get(MENU_SELECTORS.CATALOG.products).last().should("be.visible");
|
||||||
|
cy.get(MENU_SELECTORS.CATALOG.categories).should("be.visible");
|
||||||
|
cy.get(MENU_SELECTORS.CATALOG.collections).should("be.visible");
|
||||||
|
expectMainMenuAvailableSections(5);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PRODUCT permission. TC: SALEOR_3410b - categories list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("RootCategories")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.product.user)
|
||||||
|
.visit(urlList.categories)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@RootCategories");
|
||||||
|
expectMainMenuAvailableSections(5);
|
||||||
|
cy.checkIfElementIsVisible(CATEGORIES_LIST_SELECTORS.addCategoryButton);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
it(
|
||||||
|
`should be able to navigate through shop as a staff member using PRODUCT permission. TC: SALEOR_3410c - collections list `,
|
||||||
|
{ tags: ["@allEnv", "@navigation", "@stable", "@oldRelease", "@critical"] },
|
||||||
|
() => {
|
||||||
|
cy.addAliasToGraphRequest("CollectionList")
|
||||||
|
.loginUserViaRequest("auth", PERMISSIONS_OPTIONS.product.user)
|
||||||
|
.visit(urlList.collections)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@CollectionList");
|
||||||
|
expectMainMenuAvailableSections(5);
|
||||||
|
cy.checkIfElementIsVisible(COLLECTION_SELECTORS.createCollectionButton);
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
|
@ -52,9 +52,7 @@ xdescribe("Channels in draft orders", () => {
|
||||||
channelName = channelInHeader;
|
channelName = channelInHeader;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
cy.visit(urlList.orders)
|
cy.visit(urlList.orders).get(ORDERS_SELECTORS.createOrderButton).click();
|
||||||
.get(ORDERS_SELECTORS.createOrder)
|
|
||||||
.click();
|
|
||||||
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
||||||
selectedChannelName => {
|
selectedChannelName => {
|
||||||
expect(channelName).to.contains(selectedChannelName);
|
expect(channelName).to.contains(selectedChannelName);
|
||||||
|
@ -76,7 +74,7 @@ xdescribe("Channels in draft orders", () => {
|
||||||
cy.visit(urlList.homePage);
|
cy.visit(urlList.homePage);
|
||||||
selectChannelInHeader(otherChannel.name);
|
selectChannelInHeader(otherChannel.name);
|
||||||
cy.visit(urlList.orders);
|
cy.visit(urlList.orders);
|
||||||
cy.get(ORDERS_SELECTORS.createOrder).click();
|
cy.get(ORDERS_SELECTORS.createOrderButton).click();
|
||||||
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
||||||
channelInSelect => {
|
channelInSelect => {
|
||||||
expect(channelInSelect).to.be.eq(otherChannel.name);
|
expect(channelInSelect).to.be.eq(otherChannel.name);
|
||||||
|
@ -98,7 +96,7 @@ xdescribe("Channels in draft orders", () => {
|
||||||
cy.visit(urlList.homePage);
|
cy.visit(urlList.homePage);
|
||||||
selectChannelInHeader(defaultChannel.name);
|
selectChannelInHeader(defaultChannel.name);
|
||||||
cy.visit(urlList.orders);
|
cy.visit(urlList.orders);
|
||||||
cy.get(ORDERS_SELECTORS.createOrder).click();
|
cy.get(ORDERS_SELECTORS.createOrderButton).click();
|
||||||
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
cy.getTextFromElement(CHANNEL_FORM_SELECTORS.channelSelect).then(
|
||||||
channelInSelect => {
|
channelInSelect => {
|
||||||
expect(channelInSelect).to.be.eq(defaultChannel.name);
|
expect(channelInSelect).to.be.eq(defaultChannel.name);
|
||||||
|
|
|
@ -91,7 +91,7 @@ xdescribe("Draft orders", () => {
|
||||||
() => {
|
() => {
|
||||||
cy.visit(urlList.orders);
|
cy.visit(urlList.orders);
|
||||||
cy.expectSkeletonIsVisible();
|
cy.expectSkeletonIsVisible();
|
||||||
cy.get(ORDERS_SELECTORS.createOrder).click();
|
cy.get(ORDERS_SELECTORS.createOrderButton).click();
|
||||||
selectChannelInPicker(defaultChannel.name);
|
selectChannelInPicker(defaultChannel.name);
|
||||||
finalizeDraftOrder(randomName, address).then(draftOrderNumber => {
|
finalizeDraftOrder(randomName, address).then(draftOrderNumber => {
|
||||||
cy.visit(urlList.orders);
|
cy.visit(urlList.orders);
|
||||||
|
|
|
@ -127,7 +127,7 @@ describe("Orders", () => {
|
||||||
"should create order with selected channel. TC: SALEOR_2104",
|
"should create order with selected channel. TC: SALEOR_2104",
|
||||||
{ tags: ["@orders", "@allEnv", "@stable", "@oldRelease"] },
|
{ tags: ["@orders", "@allEnv", "@stable", "@oldRelease"] },
|
||||||
() => {
|
() => {
|
||||||
cy.visit(urlList.orders).get(ORDERS_SELECTORS.createOrder).click();
|
cy.visit(urlList.orders).get(ORDERS_SELECTORS.createOrderButton).click();
|
||||||
selectChannelInPicker(defaultChannel.name);
|
selectChannelInPicker(defaultChannel.name);
|
||||||
finalizeDraftOrder(randomName, address);
|
finalizeDraftOrder(randomName, address);
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { PAGE_TYPE_DETAILS } from "../../elements/pageTypes/pageTypeDetails";
|
import { PAGE_TYPE_DETAILS_SELECTORS } from "../../elements/pageTypes/pageTypeDetails";
|
||||||
import { PAGE_TYPES_LIST } from "../../elements/pageTypes/pageTypesList";
|
import { PAGE_TYPES_LIST_SELECTORS } from "../../elements/pageTypes/pageTypesList";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { pageTypeDetailsUrl, urlList } from "../../fixtures/urlList";
|
import { pageTypeDetailsUrl, urlList } from "../../fixtures/urlList";
|
||||||
|
@ -28,9 +28,9 @@ describe("Tests for page types", () => {
|
||||||
const randomName = startsWith + faker.datatype.number();
|
const randomName = startsWith + faker.datatype.number();
|
||||||
|
|
||||||
cy.visit(urlList.pageTypes)
|
cy.visit(urlList.pageTypes)
|
||||||
.get(PAGE_TYPES_LIST.createPageTypeButton)
|
.get(PAGE_TYPES_LIST_SELECTORS.createPageTypeButton)
|
||||||
.click()
|
.click()
|
||||||
.get(PAGE_TYPE_DETAILS.nameInput)
|
.get(PAGE_TYPE_DETAILS_SELECTORS.nameInput)
|
||||||
.type(randomName)
|
.type(randomName)
|
||||||
.addAliasToGraphRequest("PageTypeCreate")
|
.addAliasToGraphRequest("PageTypeCreate")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
@ -59,7 +59,7 @@ describe("Tests for page types", () => {
|
||||||
cy.visit(pageTypeDetailsUrl(pageType.id))
|
cy.visit(pageTypeDetailsUrl(pageType.id))
|
||||||
.get(SHARED_ELEMENTS.progressBar)
|
.get(SHARED_ELEMENTS.progressBar)
|
||||||
.should("be.not.visible")
|
.should("be.not.visible")
|
||||||
.get(PAGE_TYPE_DETAILS.assignAttributesButton)
|
.get(PAGE_TYPE_DETAILS_SELECTORS.assignAttributesButton)
|
||||||
.click()
|
.click()
|
||||||
.assignElements(randomName)
|
.assignElements(randomName)
|
||||||
.confirmationMessageShouldDisappear();
|
.confirmationMessageShouldDisappear();
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import { PAGE_DETAILS } from "../../elements/pages/page-details";
|
import { PAGE_DETAILS_SELECTORS } from "../../elements/pages/page-details";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { pageDetailsUrl } from "../../fixtures/urlList";
|
import { pageDetailsUrl } from "../../fixtures/urlList";
|
||||||
import { createAttribute } from "../../support/api/requests/Attribute";
|
import { createAttribute } from "../../support/api/requests/Attribute";
|
||||||
|
@ -161,9 +161,9 @@ describe("Tests for pages", () => {
|
||||||
})
|
})
|
||||||
.then(({ page }) => {
|
.then(({ page }) => {
|
||||||
cy.visit(pageDetailsUrl(page.id))
|
cy.visit(pageDetailsUrl(page.id))
|
||||||
.get(PAGE_DETAILS.nameInput)
|
.get(PAGE_DETAILS_SELECTORS.nameInput)
|
||||||
.clearAndType(updatedName)
|
.clearAndType(updatedName)
|
||||||
.get(PAGE_DETAILS.isNotPublishedCheckbox)
|
.get(PAGE_DETAILS_SELECTORS.isNotPublishedCheckbox)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("PageUpdate")
|
.addAliasToGraphRequest("PageUpdate")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
|
|
@ -7,9 +7,9 @@ import { LEFT_MENU_SELECTORS } from "../elements/account/left-menu/left-menu-sel
|
||||||
import { LOGIN_SELECTORS } from "../elements/account/login-selectors";
|
import { LOGIN_SELECTORS } from "../elements/account/login-selectors";
|
||||||
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../elements/shared/sharedElements";
|
||||||
import { INVITE_STAFF_MEMBER_FORM } from "../elements/staffMembers/inviteStaffMemberForm";
|
import { INVITE_STAFF_MEMBER_FORM_SELECTORS } from "../elements/staffMembers/inviteStaffMemberForm";
|
||||||
import { STAFF_MEMBER_DETAILS } from "../elements/staffMembers/staffMemberDetails";
|
import { STAFF_MEMBER_DETAILS_SELECTORS } from "../elements/staffMembers/staffMemberDetails";
|
||||||
import { STAFF_MEMBERS_LIST } from "../elements/staffMembers/staffMembersList";
|
import { STAFF_MEMBERS_LIST_SELECTORS } from "../elements/staffMembers/staffMembersList";
|
||||||
import { urlList, userDetailsUrl } from "../fixtures/urlList";
|
import { urlList, userDetailsUrl } from "../fixtures/urlList";
|
||||||
import { TEST_ADMIN_USER } from "../fixtures/users";
|
import { TEST_ADMIN_USER } from "../fixtures/users";
|
||||||
import { activatePlugin, updatePlugin } from "../support/api/requests/Plugins";
|
import { activatePlugin, updatePlugin } from "../support/api/requests/Plugins";
|
||||||
|
@ -70,7 +70,7 @@ describe("Staff members", () => {
|
||||||
|
|
||||||
cy.visit(urlList.staffMembers)
|
cy.visit(urlList.staffMembers)
|
||||||
.expectSkeletonIsVisible()
|
.expectSkeletonIsVisible()
|
||||||
.get(STAFF_MEMBERS_LIST.inviteStaffMemberButton)
|
.get(STAFF_MEMBERS_LIST_SELECTORS.inviteStaffMemberButton)
|
||||||
.click({ force: true });
|
.click({ force: true });
|
||||||
fillUpUserDetailsAndAddFirstPermission(firstName, lastName, emailInvite);
|
fillUpUserDetailsAndAddFirstPermission(firstName, lastName, emailInvite);
|
||||||
getMailActivationLinkForUser(emailInvite).then(urlLink => {
|
getMailActivationLinkForUser(emailInvite).then(urlLink => {
|
||||||
|
@ -122,7 +122,7 @@ describe("Staff members", () => {
|
||||||
const serverStoredEmail = email.toLowerCase();
|
const serverStoredEmail = email.toLowerCase();
|
||||||
|
|
||||||
cy.visit(userDetailsUrl(user.id))
|
cy.visit(userDetailsUrl(user.id))
|
||||||
.get(STAFF_MEMBER_DETAILS.removePermissionButton)
|
.get(STAFF_MEMBER_DETAILS_SELECTORS.removePermissionButton)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("StaffMemberUpdate")
|
.addAliasToGraphRequest("StaffMemberUpdate")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
@ -186,10 +186,10 @@ describe("Staff members", () => {
|
||||||
const emailInvite = TEST_ADMIN_USER.email;
|
const emailInvite = TEST_ADMIN_USER.email;
|
||||||
cy.visit(urlList.staffMembers)
|
cy.visit(urlList.staffMembers)
|
||||||
.expectSkeletonIsVisible()
|
.expectSkeletonIsVisible()
|
||||||
.get(STAFF_MEMBERS_LIST.inviteStaffMemberButton)
|
.get(STAFF_MEMBERS_LIST_SELECTORS.inviteStaffMemberButton)
|
||||||
.click({ force: true });
|
.click({ force: true });
|
||||||
fillUpOnlyUserDetails(firstName, lastName, emailInvite);
|
fillUpOnlyUserDetails(firstName, lastName, emailInvite);
|
||||||
cy.get(INVITE_STAFF_MEMBER_FORM.emailValidationMessage).should(
|
cy.get(INVITE_STAFF_MEMBER_FORM_SELECTORS.emailValidationMessage).should(
|
||||||
"be.visible",
|
"be.visible",
|
||||||
);
|
);
|
||||||
cy.get(BUTTON_SELECTORS.dialogBackButton).click();
|
cy.get(BUTTON_SELECTORS.dialogBackButton).click();
|
||||||
|
@ -206,13 +206,15 @@ describe("Staff members", () => {
|
||||||
.get(SHARED_ELEMENTS.searchInput)
|
.get(SHARED_ELEMENTS.searchInput)
|
||||||
.type(`${email} {enter}`);
|
.type(`${email} {enter}`);
|
||||||
cy.waitForProgressBarToNotExist();
|
cy.waitForProgressBarToNotExist();
|
||||||
cy.get(STAFF_MEMBERS_LIST.staffAvatar).first().should("be.visible");
|
cy.get(STAFF_MEMBERS_LIST_SELECTORS.staffAvatar)
|
||||||
|
.first()
|
||||||
|
.should("be.visible");
|
||||||
cy.waitForProgressBarToNotExist()
|
cy.waitForProgressBarToNotExist()
|
||||||
.get(STAFF_MEMBERS_LIST.staffStatusText)
|
.get(STAFF_MEMBERS_LIST_SELECTORS.staffStatusText)
|
||||||
.first()
|
.first()
|
||||||
.should("be.visible")
|
.should("be.visible")
|
||||||
.click();
|
.click();
|
||||||
cy.get(STAFF_MEMBER_DETAILS.staffEmail)
|
cy.get(STAFF_MEMBER_DETAILS_SELECTORS.staffEmail)
|
||||||
.click()
|
.click()
|
||||||
.clear()
|
.clear()
|
||||||
.type(`${TEST_ADMIN_USER.email} {enter}`)
|
.type(`${TEST_ADMIN_USER.email} {enter}`)
|
||||||
|
@ -250,9 +252,15 @@ describe("Staff members", () => {
|
||||||
|
|
||||||
cy.visit(urlList.staffMembers).get(LOGIN_SELECTORS.userMenu).click();
|
cy.visit(urlList.staffMembers).get(LOGIN_SELECTORS.userMenu).click();
|
||||||
cy.get(LOGIN_SELECTORS.accountSettings).click();
|
cy.get(LOGIN_SELECTORS.accountSettings).click();
|
||||||
cy.get(STAFF_MEMBER_DETAILS.staffFirstName).clear().type("สมชาย");
|
cy.get(STAFF_MEMBER_DETAILS_SELECTORS.staffFirstName)
|
||||||
cy.get(STAFF_MEMBER_DETAILS.staffLastName).clear().type(newLastName);
|
.clear()
|
||||||
cy.get(STAFF_MEMBER_DETAILS.staffEmail).clear().type(changedEmail);
|
.type("สมชาย");
|
||||||
|
cy.get(STAFF_MEMBER_DETAILS_SELECTORS.staffLastName)
|
||||||
|
.clear()
|
||||||
|
.type(newLastName);
|
||||||
|
cy.get(STAFF_MEMBER_DETAILS_SELECTORS.staffEmail)
|
||||||
|
.clear()
|
||||||
|
.type(changedEmail);
|
||||||
|
|
||||||
// Test blocked from this point by https://github.com/saleor/saleor-dashboard/issues/2847
|
// Test blocked from this point by https://github.com/saleor/saleor-dashboard/issues/2847
|
||||||
cy.get(BUTTON_SELECTORS.confirm).confirmationMessageShouldAppear();
|
cy.get(BUTTON_SELECTORS.confirm).confirmationMessageShouldAppear();
|
||||||
|
@ -292,13 +300,13 @@ describe("Staff members", () => {
|
||||||
|
|
||||||
cy.visit(urlList.staffMembers).get(LOGIN_SELECTORS.userMenu).click();
|
cy.visit(urlList.staffMembers).get(LOGIN_SELECTORS.userMenu).click();
|
||||||
cy.get(LOGIN_SELECTORS.accountSettings).click();
|
cy.get(LOGIN_SELECTORS.accountSettings).click();
|
||||||
cy.get(STAFF_MEMBER_DETAILS.changePasswordBtn).click();
|
cy.get(STAFF_MEMBER_DETAILS_SELECTORS.changePasswordBtn).click();
|
||||||
cy.get(STAFF_MEMBER_DETAILS.changePasswordModal.oldPassword).type(
|
cy.get(
|
||||||
Cypress.env("USER_PASSWORD"),
|
STAFF_MEMBER_DETAILS_SELECTORS.changePasswordModal.oldPassword,
|
||||||
);
|
).type(Cypress.env("USER_PASSWORD"));
|
||||||
cy.get(STAFF_MEMBER_DETAILS.changePasswordModal.newPassword).type(
|
cy.get(
|
||||||
newPass,
|
STAFF_MEMBER_DETAILS_SELECTORS.changePasswordModal.newPassword,
|
||||||
);
|
).type(newPass);
|
||||||
cy.get(BUTTON_SELECTORS.submit).click().confirmationMessageShouldAppear();
|
cy.get(BUTTON_SELECTORS.submit).click().confirmationMessageShouldAppear();
|
||||||
|
|
||||||
cy.clearSessionData().loginUserViaRequest("auth", {
|
cy.clearSessionData().loginUserViaRequest("auth", {
|
||||||
|
|
5
cypress/elements/account/index.js
Normal file
5
cypress/elements/account/index.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
import * as MENU_SELECTORS from "./left-menu/left-menu-selectors";
|
||||||
|
import * as LOGIN_SELECTORS from "./login-selectors";
|
||||||
|
import * as SET_PASSWORD_SELECTORS from "./login-selectors";
|
||||||
|
|
||||||
|
export { MENU_SELECTORS, LOGIN_SELECTORS, SET_PASSWORD_SELECTORS };
|
|
@ -1,4 +1,4 @@
|
||||||
export const LEFT_MENU_SELECTORS = {
|
export const MENU = {
|
||||||
catalog: "[data-test-id='menu-item-label-catalogue']",
|
catalog: "[data-test-id='menu-item-label-catalogue']",
|
||||||
pages: "[data-test-id='menu-item-label-pages']",
|
pages: "[data-test-id='menu-item-label-pages']",
|
||||||
configuration: "[data-test-id='menu-item-label-configure']",
|
configuration: "[data-test-id='menu-item-label-configure']",
|
||||||
|
@ -9,8 +9,12 @@ export const LEFT_MENU_SELECTORS = {
|
||||||
app: "[data-test-id='menu-item-label-apps']",
|
app: "[data-test-id='menu-item-label-apps']",
|
||||||
translations: "[data-test-id='menu-item-label-translations']",
|
translations: "[data-test-id='menu-item-label-translations']",
|
||||||
customers: "[data-test-id='menu-item-label-customers']",
|
customers: "[data-test-id='menu-item-label-customers']",
|
||||||
|
list: "[data-test-id='menu-list']",
|
||||||
|
listItem: "[data-test-id='menu-list-item']",
|
||||||
|
products: "[data-test-id='menu-item-label-products']",
|
||||||
|
menuItem: "[data-test-id*='menu-item-label-']",
|
||||||
};
|
};
|
||||||
export const DISCOUNTS_MENU_SELECTORS = {
|
export const DISCOUNTS = {
|
||||||
sales: "[data-test-id='menu-item-label-sales']",
|
sales: "[data-test-id='menu-item-label-sales']",
|
||||||
vouchers: "[data-test-id='menu-item-label-vouchers']",
|
vouchers: "[data-test-id='menu-item-label-vouchers']",
|
||||||
};
|
};
|
||||||
|
@ -22,9 +26,10 @@ export const CATALOG = {
|
||||||
products: "[data-test-id='menu-item-label-products']",
|
products: "[data-test-id='menu-item-label-products']",
|
||||||
categories: "[data-test-id='menu-item-label-categories']",
|
categories: "[data-test-id='menu-item-label-categories']",
|
||||||
collections: "[data-test-id='menu-item-label-collections']",
|
collections: "[data-test-id='menu-item-label-collections']",
|
||||||
|
giftCards: "[data-test-id='menu-item-label-giftCards']",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const APP_MENU_SELECTORS = {
|
export const APP = {
|
||||||
app: "[data-test-id='menu-item-label-apps']",
|
app: "[data-test-id='menu-item-label-apps']",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
export const APPS_LIST = {
|
export const APPS_LIST_SELECTORS = {
|
||||||
createLocalAppButton: '[data-test-id="create-app"]',
|
createLocalAppButton: '[data-test-id="create-app"]',
|
||||||
|
createExternalAppButton: '[data-test-id="add-app-from-manifest"]',
|
||||||
};
|
};
|
||||||
|
|
3
cypress/elements/apps/index.js
Normal file
3
cypress/elements/apps/index.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { APPS_LIST_SELECTORS } from "./appsList";
|
||||||
|
|
||||||
|
export { APPS_LIST_SELECTORS };
|
4
cypress/elements/attribute/index.js
Normal file
4
cypress/elements/attribute/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { ATTRIBUTES_DETAILS } from "./attributes_details";
|
||||||
|
import { ATTRIBUTES_LIST } from "./attributes_list";
|
||||||
|
|
||||||
|
export { ATTRIBUTES_DETAILS, ATTRIBUTES_LIST };
|
|
@ -1,5 +1,5 @@
|
||||||
export const CATEGORIES_LIST = {
|
export const CATEGORIES_LIST_SELECTORS = {
|
||||||
addCategoryButton: '[data-test-id="create-category"]'
|
addCategoryButton: '[data-test-id="create-category"]',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const categoryRow = categoryId => `[data-test-id*="${categoryId}"]`;
|
export const categoryRow = categoryId => `[data-test-id*="${categoryId}"]`;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const CATEGORY_DETAILS = {
|
export const CATEGORY_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="name"]',
|
nameInput: '[name="name"]',
|
||||||
descriptionInput: '[data-test-id="rich-text-editor-description"]',
|
descriptionInput: '[data-test-id="rich-text-editor-description"]',
|
||||||
createSubcategoryButton: '[data-test-id="create-subcategory"]',
|
createSubcategoryButton: '[data-test-id="create-subcategory"]',
|
||||||
|
|
4
cypress/elements/catalog/categories/index.js
Normal file
4
cypress/elements/catalog/categories/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { CATEGORIES_LIST_SELECTORS } from "./categories-list";
|
||||||
|
import { CATEGORY_DETAILS_SELECTORS } from "./category-details";
|
||||||
|
|
||||||
|
export { CATEGORIES_LIST_SELECTORS, CATEGORY_DETAILS_SELECTORS };
|
11
cypress/elements/catalog/index.js
Normal file
11
cypress/elements/catalog/index.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
import {
|
||||||
|
CATEGORIES_LIST_SELECTORS,
|
||||||
|
CATEGORY_DETAILS_SELECTORS,
|
||||||
|
} from "./categories";
|
||||||
|
import { COLLECTION_SELECTORS } from "./collection-selectors";
|
||||||
|
|
||||||
|
export {
|
||||||
|
CATEGORIES_LIST_SELECTORS,
|
||||||
|
CATEGORY_DETAILS_SELECTORS,
|
||||||
|
COLLECTION_SELECTORS,
|
||||||
|
};
|
3
cypress/elements/channels/index.js
Normal file
3
cypress/elements/channels/index.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { CHANNELS_SELECTORS } from "./channels-selectors";
|
||||||
|
|
||||||
|
export { CHANNELS_SELECTORS };
|
|
@ -2,6 +2,7 @@ export const CONFIGURATION_SELECTORS = {
|
||||||
channels: "[data-test-id*='channels']",
|
channels: "[data-test-id*='channels']",
|
||||||
shipping: '[data-test-id*="shipping methods"]',
|
shipping: '[data-test-id*="shipping methods"]',
|
||||||
taxes: '[data-test-id*="configuration-menu-taxes"]',
|
taxes: '[data-test-id*="configuration-menu-taxes"]',
|
||||||
|
webhooks: '[data-test-id*="configuration-menu-webhooks"]',
|
||||||
settings: '[data-test-id*="configuration-menu-site-settings"]',
|
settings: '[data-test-id*="configuration-menu-site-settings"]',
|
||||||
pageTypes: '[data-test-id*="configuration-menu-page-types"]',
|
pageTypes: '[data-test-id*="configuration-menu-page-types"]',
|
||||||
navigation: '[data-test-id*="configuration-menu-navigation"]',
|
navigation: '[data-test-id*="configuration-menu-navigation"]',
|
||||||
|
@ -10,5 +11,7 @@ export const CONFIGURATION_SELECTORS = {
|
||||||
attributes: '[data-test-id*="configuration-menu-attributes"]',
|
attributes: '[data-test-id*="configuration-menu-attributes"]',
|
||||||
productTypes: '[data-test-id*="configuration-menu-product-types"]',
|
productTypes: '[data-test-id*="configuration-menu-product-types"]',
|
||||||
plugin: '[data-test-id*="configuration-plugins-pages"]',
|
plugin: '[data-test-id*="configuration-plugins-pages"]',
|
||||||
warehouse: '[data-test-id*="configuration-menu-warehouses"]'
|
warehouse: '[data-test-id*="configuration-menu-warehouses"]',
|
||||||
|
configurationMenu: "[data-test-id='configuration-menu']",
|
||||||
|
configurationMenuItem: "[data-test-id='configuration-menu-item']",
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const CUSTOMER_DETAILS = {
|
export const CUSTOMER_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="firstName"]',
|
nameInput: '[name="firstName"]',
|
||||||
customerAddressNameInput: '[name="customerFirstName"]',
|
customerAddressNameInput: '[name="customerFirstName"]',
|
||||||
lastNameInput: '[name="lastName"]',
|
lastNameInput: '[name="lastName"]',
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export const CUSTOMERS_LIST = {
|
export const CUSTOMERS_LIST_SELECTORS = {
|
||||||
createCustomerButton: '[data-test-id="create-customer"]'
|
createCustomerButton: '[data-test-id="create-customer"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/customer/index.js
Normal file
4
cypress/elements/customer/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { CUSTOMER_DETAILS_SELECTORS } from "./customer-details";
|
||||||
|
import { CUSTOMERS_LIST_SELECTORS } from "./customers-list";
|
||||||
|
|
||||||
|
export { CUSTOMER_DETAILS_SELECTORS, CUSTOMERS_LIST_SELECTORS };
|
|
@ -1,3 +1,3 @@
|
||||||
export const CUSTOMER_DETAILS = {
|
export const CUSTOMER_DETAILS_SELECTORS = {
|
||||||
isActiveCheckbox: '[name="isActive"]'
|
isActiveCheckbox: '[name="isActive"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/discounts/index.js
Normal file
4
cypress/elements/discounts/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { SALES_SELECTORS } from "./sales";
|
||||||
|
import { VOUCHERS_SELECTORS } from "./vouchers";
|
||||||
|
|
||||||
|
export { SALES_SELECTORS, VOUCHERS_SELECTORS };
|
79
cypress/elements/index.js
Normal file
79
cypress/elements/index.js
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
import {
|
||||||
|
LOGIN_SELECTORS,
|
||||||
|
MENU_SELECTORS,
|
||||||
|
SET_PASSWORD_SELECTORS,
|
||||||
|
} from "./account/";
|
||||||
|
import { APPS_LIST_SELECTORS } from "./apps";
|
||||||
|
import { ATTRIBUTES_DETAILS, ATTRIBUTES_LIST } from "./attribute";
|
||||||
|
import {
|
||||||
|
CATEGORIES_LIST_SELECTORS,
|
||||||
|
CATEGORY_DETAILS_SELECTORS,
|
||||||
|
COLLECTION_SELECTORS,
|
||||||
|
} from "./catalog";
|
||||||
|
import { CHANNELS_SELECTORS } from "./channels";
|
||||||
|
import { CONFIGURATION_SELECTORS } from "./configuration/configuration-selectors";
|
||||||
|
import {
|
||||||
|
CUSTOMER_DETAILS_SELECTORS,
|
||||||
|
CUSTOMERS_LIST_SELECTORS,
|
||||||
|
} from "./customer/";
|
||||||
|
import { SALES_SELECTORS, VOUCHERS_SELECTORS } from "./discounts";
|
||||||
|
import { DRAFT_ORDERS_LIST_SELECTORS, ORDERS_SELECTORS } from "./orders";
|
||||||
|
import { PAGE_DETAILS_SELECTORS, PAGES_LIST_SELECTORS } from "./pages/";
|
||||||
|
import {
|
||||||
|
PAGE_TYPE_DETAILS_SELECTORS,
|
||||||
|
PAGE_TYPES_LIST_SELECTORS,
|
||||||
|
} from "./pageTypes";
|
||||||
|
import {
|
||||||
|
PERMISSION_GROUP_DETAILS_SELECTORS,
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS,
|
||||||
|
} from "./permissionGroup";
|
||||||
|
import { PLUGINS_DETAILS_SELECTORS, PLUGINS_LIST_SELECTORS } from "./plugins";
|
||||||
|
import {
|
||||||
|
PRODUCT_TYPE_DETAILS_SELECTORS,
|
||||||
|
PRODUCT_TYPES_LIST_SELECTORS,
|
||||||
|
} from "./productTypes";
|
||||||
|
import { ADDRESS_SELECTORS, SHARED_ELEMENTS } from "./shared";
|
||||||
|
import { SHIPPING_ZONES_LIST_SELECTORS } from "./shipping";
|
||||||
|
import {
|
||||||
|
INVITE_STAFF_MEMBER_FORM_SELECTORS,
|
||||||
|
STAFF_MEMBER_DETAILS_SELECTORS,
|
||||||
|
STAFF_MEMBERS_LIST_SELECTORS,
|
||||||
|
} from "./staffMembers";
|
||||||
|
import { LANGUAGES_LIST_SELECTORS } from "./translations";
|
||||||
|
|
||||||
|
export {
|
||||||
|
ADDRESS_SELECTORS,
|
||||||
|
APPS_LIST_SELECTORS,
|
||||||
|
ATTRIBUTES_DETAILS,
|
||||||
|
ATTRIBUTES_LIST,
|
||||||
|
CATEGORIES_LIST_SELECTORS,
|
||||||
|
CATEGORY_DETAILS_SELECTORS,
|
||||||
|
CHANNELS_SELECTORS,
|
||||||
|
COLLECTION_SELECTORS,
|
||||||
|
CONFIGURATION_SELECTORS,
|
||||||
|
CUSTOMER_DETAILS_SELECTORS,
|
||||||
|
CUSTOMERS_LIST_SELECTORS,
|
||||||
|
DRAFT_ORDERS_LIST_SELECTORS,
|
||||||
|
INVITE_STAFF_MEMBER_FORM_SELECTORS,
|
||||||
|
LANGUAGES_LIST_SELECTORS,
|
||||||
|
LOGIN_SELECTORS,
|
||||||
|
MENU_SELECTORS,
|
||||||
|
ORDERS_SELECTORS,
|
||||||
|
PAGE_DETAILS_SELECTORS,
|
||||||
|
PAGE_TYPE_DETAILS_SELECTORS,
|
||||||
|
PAGE_TYPES_LIST_SELECTORS,
|
||||||
|
PAGES_LIST_SELECTORS,
|
||||||
|
PERMISSION_GROUP_DETAILS_SELECTORS,
|
||||||
|
PERMISSION_GROUP_LIST_SELECTORS,
|
||||||
|
PLUGINS_DETAILS_SELECTORS,
|
||||||
|
PLUGINS_LIST_SELECTORS,
|
||||||
|
PRODUCT_TYPE_DETAILS_SELECTORS,
|
||||||
|
PRODUCT_TYPES_LIST_SELECTORS,
|
||||||
|
SALES_SELECTORS,
|
||||||
|
SET_PASSWORD_SELECTORS,
|
||||||
|
SHARED_ELEMENTS,
|
||||||
|
SHIPPING_ZONES_LIST_SELECTORS,
|
||||||
|
STAFF_MEMBER_DETAILS_SELECTORS,
|
||||||
|
STAFF_MEMBERS_LIST_SELECTORS,
|
||||||
|
VOUCHERS_SELECTORS,
|
||||||
|
};
|
|
@ -1,3 +1,4 @@
|
||||||
export const DRAFT_ORDERS_LIST_SELECTORS = {
|
export const DRAFT_ORDERS_LIST_SELECTORS = {
|
||||||
draftOrderRow: "[data-test-id='draft-order-table-row']"
|
draftOrderRow: "[data-test-id='draft-order-table-row']",
|
||||||
|
createDraftOrderButton: "[data-test-id='create-draft-order-button']",
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/orders/index.js
Normal file
4
cypress/elements/orders/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { DRAFT_ORDERS_LIST_SELECTORS } from "./draft-orders-list-selectors";
|
||||||
|
import { ORDERS_SELECTORS } from "./orders-selectors";
|
||||||
|
|
||||||
|
export { DRAFT_ORDERS_LIST_SELECTORS, ORDERS_SELECTORS };
|
|
@ -1,6 +1,6 @@
|
||||||
export const ORDERS_SELECTORS = {
|
export const ORDERS_SELECTORS = {
|
||||||
orders: "[data-test-id='menu-item-label'][data-test-id='orders']",
|
orders: "[data-test-id='menu-item-label'][data-test-id='orders']",
|
||||||
createOrder: "[data-test-id='create-order-button']",
|
createOrderButton: "[data-test-id='create-order-button']",
|
||||||
orderRow: "[data-test-id='order-table-row']",
|
orderRow: "[data-test-id='order-table-row']",
|
||||||
salesChannel: "[data-test-id='order-sales-channel']",
|
salesChannel: "[data-test-id='order-sales-channel']",
|
||||||
cancelFulfillment: "[data-test-id='cancel-fulfillment-button']",
|
cancelFulfillment: "[data-test-id='cancel-fulfillment-button']",
|
||||||
|
|
4
cypress/elements/pageTypes/index.js
Normal file
4
cypress/elements/pageTypes/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PAGE_TYPE_DETAILS_SELECTORS } from "./pageTypeDetails";
|
||||||
|
import { PAGE_TYPES_LIST_SELECTORS } from "./pageTypesList";
|
||||||
|
|
||||||
|
export { PAGE_TYPE_DETAILS_SELECTORS, PAGE_TYPES_LIST_SELECTORS };
|
|
@ -1,4 +1,4 @@
|
||||||
export const PAGE_TYPE_DETAILS = {
|
export const PAGE_TYPE_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="name"]',
|
nameInput: '[name="name"]',
|
||||||
assignAttributesButton: '[data-test-id="assign-attributes"]'
|
assignAttributesButton: '[data-test-id="assign-attributes"]',
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export const PAGE_TYPES_LIST = {
|
export const PAGE_TYPES_LIST_SELECTORS = {
|
||||||
createPageTypeButton: '[data-test-id="create-page-type"]'
|
createPageTypeButton: '[data-test-id="create-page-type"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/pages/index.js
Normal file
4
cypress/elements/pages/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PAGE_DETAILS_SELECTORS } from "./page-details";
|
||||||
|
import { PAGES_LIST_SELECTORS } from "./pages-list";
|
||||||
|
|
||||||
|
export { PAGE_DETAILS_SELECTORS, PAGES_LIST_SELECTORS };
|
|
@ -1,4 +1,4 @@
|
||||||
export const PAGE_DETAILS = {
|
export const PAGE_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="title"]',
|
nameInput: '[name="title"]',
|
||||||
pageTypesAutocompleteSelect:
|
pageTypesAutocompleteSelect:
|
||||||
'[data-test-id="page-types-autocomplete-select"]',
|
'[data-test-id="page-types-autocomplete-select"]',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const PAGES_LIST = {
|
export const PAGES_LIST_SELECTORS = {
|
||||||
createPageButton: '[data-test-id="create-page"]',
|
createPageButton: '[data-test-id="create-page"]',
|
||||||
dialogPageTypeInput: "[data-test-id='dialog-page-type']",
|
dialogPageTypeInput: "[data-test-id='dialog-page-type']",
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/permissionGroup/index.js
Normal file
4
cypress/elements/permissionGroup/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PERMISSION_GROUP_DETAILS_SELECTORS } from "./permissionGroupDetails";
|
||||||
|
import { PERMISSION_GROUP_LIST_SELECTORS } from "./permissionGroupsList";
|
||||||
|
|
||||||
|
export { PERMISSION_GROUP_DETAILS_SELECTORS, PERMISSION_GROUP_LIST_SELECTORS };
|
|
@ -1,4 +1,4 @@
|
||||||
export const PERMISSION_GROUP_DETAILS = {
|
export const PERMISSION_GROUP_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="name"]',
|
nameInput: '[name="name"]',
|
||||||
productsPermissionCheckbox: '[name="MANAGE_PRODUCTS"]',
|
productsPermissionCheckbox: '[name="MANAGE_PRODUCTS"]',
|
||||||
productsTypesAndAttributesPermissionCheckbox:
|
productsTypesAndAttributesPermissionCheckbox:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const PERMISSION_GROUP_LIST = {
|
export const PERMISSION_GROUP_LIST_SELECTORS = {
|
||||||
createPermissionButton: '[data-test-id="create-permission-group"]',
|
createPermissionButton: '[data-test-id="create-permission-group"]',
|
||||||
permissionGroupRow: '[data-test-id*="id-"]'
|
permissionGroupRow: '[data-test-id*="id-"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/plugins/index.js
Normal file
4
cypress/elements/plugins/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PLUGINS_DETAILS_SELECTORS } from "./pluginDetails";
|
||||||
|
import { PLUGINS_LIST_SELECTORS } from "./pluginsList";
|
||||||
|
|
||||||
|
export { PLUGINS_DETAILS_SELECTORS, PLUGINS_LIST_SELECTORS };
|
|
@ -1,5 +1,5 @@
|
||||||
export const PLUGINS_DETAILS = {
|
export const PLUGINS_DETAILS_SELECTORS = {
|
||||||
channel: '[data-test-id="channel"]',
|
channel: '[data-test-id="channel"]',
|
||||||
accountConfirmationSubjectInput: '[name="account_confirmation_subject"]',
|
accountConfirmationSubjectInput: '[name="account_confirmation_subject"]',
|
||||||
staffPasswordResetInput: '[name="staff_password_reset_subject"]'
|
staffPasswordResetInput: '[name="staff_password_reset_subject"]',
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export const PLUGINS_LIST = {
|
export const PLUGINS_LIST_SELECTORS = {
|
||||||
pluginRow: '[data-test-id="plugin"]'
|
pluginRow: '[data-test-id="plugin"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/productTypes/index.js
Normal file
4
cypress/elements/productTypes/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PRODUCT_TYPE_DETAILS_SELECTORS } from "./productTypeDetails";
|
||||||
|
import { PRODUCT_TYPES_LIST_SELECTORS } from "./productTypesList";
|
||||||
|
|
||||||
|
export { PRODUCT_TYPE_DETAILS_SELECTORS, PRODUCT_TYPES_LIST_SELECTORS };
|
|
@ -1,4 +1,4 @@
|
||||||
export const PRODUCT_TYPE_DETAILS = {
|
export const PRODUCT_TYPE_DETAILS_SELECTORS = {
|
||||||
nameInput: '[name="name"]',
|
nameInput: '[name="name"]',
|
||||||
isShippingRequired: '[name="isShippingRequired"]',
|
isShippingRequired: '[name="isShippingRequired"]',
|
||||||
assignProductAttributeButton: '[data-test-id="assign-products-attributes"]',
|
assignProductAttributeButton: '[data-test-id="assign-products-attributes"]',
|
||||||
|
@ -6,5 +6,5 @@ export const PRODUCT_TYPE_DETAILS = {
|
||||||
hasVariantsButton: '[name="hasVariants"]',
|
hasVariantsButton: '[name="hasVariants"]',
|
||||||
shippingWeightInput: '[name="weight"]',
|
shippingWeightInput: '[name="weight"]',
|
||||||
giftCardKindCheckbox: '[data-test-id="product-type-kind-option-GIFT_CARD"]',
|
giftCardKindCheckbox: '[data-test-id="product-type-kind-option-GIFT_CARD"]',
|
||||||
variantSelectionCheckbox: '[data-test-id = "variant-selection-checkbox"]'
|
variantSelectionCheckbox: '[data-test-id = "variant-selection-checkbox"]',
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export const PRODUCT_TYPES_LIST = {
|
export const PRODUCT_TYPES_LIST_SELECTORS = {
|
||||||
addProductTypeButton: '[data-test-id="add-product-type"]'
|
addProductTypeButton: '[data-test-id="add-product-type"]',
|
||||||
};
|
};
|
||||||
|
|
|
@ -10,4 +10,5 @@ export const ADDRESS_SELECTORS = {
|
||||||
country: '[data-test-id="address-edit-country-select-field"]',
|
country: '[data-test-id="address-edit-country-select-field"]',
|
||||||
countryArea: '[data-test-id="address-edit-country-area-field"]',
|
countryArea: '[data-test-id="address-edit-country-area-field"]',
|
||||||
saveButton: '[data-test-id="order-address-edit-dialog-confirm-button"]',
|
saveButton: '[data-test-id="order-address-edit-dialog-confirm-button"]',
|
||||||
|
companyInfoSection: '[data-test-id="company-info"]',
|
||||||
};
|
};
|
||||||
|
|
4
cypress/elements/shared/index.js
Normal file
4
cypress/elements/shared/index.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { SHARED_ELEMENTS } from "./sharedElements";
|
||||||
|
import { ADDRESS_SELECTORS } from "./addressForm";
|
||||||
|
|
||||||
|
export { SHARED_ELEMENTS, ADDRESS_SELECTORS };
|
3
cypress/elements/shipping/index.js
Normal file
3
cypress/elements/shipping/index.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { SHIPPING_ZONES_LIST_SELECTORS } from "./shipping-zones-list";
|
||||||
|
|
||||||
|
export { SHIPPING_ZONES_LIST_SELECTORS };
|
|
@ -1,7 +1,7 @@
|
||||||
export const SHIPPING_ZONES_LIST = {
|
export const SHIPPING_ZONES_LIST_SELECTORS = {
|
||||||
addShippingZone: "[data-test-id='add-shipping-zone']",
|
addShippingZone: "[data-test-id='add-shipping-zone']",
|
||||||
unitSelect: "[id='mui-component-select-unit']",
|
unitSelect: "[id='mui-component-select-unit']",
|
||||||
saveUnit: '[data-test-id="save-unit"]'
|
saveUnit: '[data-test-id="save-unit"]',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SHIPPING_ZONE_CHECKBOX = shippingId =>
|
export const SHIPPING_ZONE_CHECKBOX = shippingId =>
|
||||||
|
|
9
cypress/elements/staffMembers/index.js
Normal file
9
cypress/elements/staffMembers/index.js
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import { INVITE_STAFF_MEMBER_FORM_SELECTORS } from "./inviteStaffMemberForm";
|
||||||
|
import { STAFF_MEMBER_DETAILS_SELECTORS } from "./staffMemberDetails";
|
||||||
|
import { STAFF_MEMBERS_LIST_SELECTORS } from "./staffMembersList";
|
||||||
|
|
||||||
|
export {
|
||||||
|
INVITE_STAFF_MEMBER_FORM_SELECTORS,
|
||||||
|
STAFF_MEMBER_DETAILS_SELECTORS,
|
||||||
|
STAFF_MEMBERS_LIST_SELECTORS,
|
||||||
|
};
|
|
@ -1,4 +1,4 @@
|
||||||
export const INVITE_STAFF_MEMBER_FORM = {
|
export const INVITE_STAFF_MEMBER_FORM_SELECTORS = {
|
||||||
firstNameInput: '[name="firstName"]',
|
firstNameInput: '[name="firstName"]',
|
||||||
lastNameInput: '[name="lastName"]',
|
lastNameInput: '[name="lastName"]',
|
||||||
emailInput: '[name="email"]',
|
emailInput: '[name="email"]',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const STAFF_MEMBER_DETAILS = {
|
export const STAFF_MEMBER_DETAILS_SELECTORS = {
|
||||||
permissionsSelect: '[data-test-id="permission-groups"]',
|
permissionsSelect: '[data-test-id="permission-groups"]',
|
||||||
isActiveCheckBox: '[name="isActive"]',
|
isActiveCheckBox: '[name="isActive"]',
|
||||||
removePermissionButton: '[data-test-id="remove"]',
|
removePermissionButton: '[data-test-id="remove"]',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export const STAFF_MEMBERS_LIST = {
|
export const STAFF_MEMBERS_LIST_SELECTORS = {
|
||||||
inviteStaffMemberButton: '[data-test-id="invite-staff-member"]',
|
inviteStaffMemberButton: '[data-test-id="invite-staff-member"]',
|
||||||
staffStatusText: '[data-test-id="staffStatusText"]',
|
staffStatusText: '[data-test-id="staffStatusText"]',
|
||||||
staffAvatar: '[data-test-id="staffAvatar"]',
|
staffAvatar: '[data-test-id="staffAvatar"]',
|
||||||
|
|
3
cypress/elements/translations/index.js
Normal file
3
cypress/elements/translations/index.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { LANGUAGES_LIST_SELECTORS } from "./languages-list";
|
||||||
|
|
||||||
|
export { LANGUAGES_LIST_SELECTORS };
|
|
@ -1,3 +1,4 @@
|
||||||
export const LANGUAGES_LIST = {
|
export const LANGUAGES_LIST_SELECTORS = {
|
||||||
polishLanguageButton: '[data-test-id="PL"]'
|
polishLanguageButton: '[data-test-id="PL"]',
|
||||||
|
translationListView: '[data-test-id="translation-list-view"]',
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@ import * as menuSelectors from "../elements/account/left-menu/left-menu-selector
|
||||||
import { CONFIGURATION_SELECTORS } from "../elements/configuration/configuration-selectors";
|
import { CONFIGURATION_SELECTORS } from "../elements/configuration/configuration-selectors";
|
||||||
|
|
||||||
const configurationAsParent = {
|
const configurationAsParent = {
|
||||||
parentMenuSelector: menuSelectors.LEFT_MENU_SELECTORS.configuration,
|
parentMenuSelector: menuSelectors.MENU.configuration,
|
||||||
parentSelectors: CONFIGURATION_SELECTORS,
|
parentSelectors: CONFIGURATION_SELECTORS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,21 +12,21 @@ export const PERMISSIONS = {
|
||||||
permissionSelectors: [CONFIGURATION_SELECTORS.channels],
|
permissionSelectors: [CONFIGURATION_SELECTORS.channels],
|
||||||
},
|
},
|
||||||
customer: {
|
customer: {
|
||||||
permissionSelectors: [menuSelectors.LEFT_MENU_SELECTORS.customers],
|
permissionSelectors: [menuSelectors.MENU.customers],
|
||||||
},
|
},
|
||||||
discounts: {
|
discounts: {
|
||||||
parent: {
|
parent: {
|
||||||
parentMenuSelector: menuSelectors.LEFT_MENU_SELECTORS.discounts,
|
parentMenuSelector: menuSelectors.MENU.discounts,
|
||||||
parentSelectors: [menuSelectors.DISCOUNTS_MENU_SELECTORS],
|
parentSelectors: [menuSelectors.DISCOUNTS],
|
||||||
},
|
},
|
||||||
permissionSelectors: [
|
permissionSelectors: [
|
||||||
menuSelectors.DISCOUNTS_MENU_SELECTORS.sales,
|
menuSelectors.DISCOUNTS.sales,
|
||||||
menuSelectors.DISCOUNTS_MENU_SELECTORS.vouchers,
|
menuSelectors.DISCOUNTS.vouchers,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
order: {
|
order: {
|
||||||
parent: {
|
parent: {
|
||||||
parentMenuSelector: menuSelectors.LEFT_MENU_SELECTORS.orders,
|
parentMenuSelector: menuSelectors.MENU.orders,
|
||||||
parentSelectors: menuSelectors.ORDERS,
|
parentSelectors: menuSelectors.ORDERS,
|
||||||
},
|
},
|
||||||
permissionSelectors: [
|
permissionSelectors: [
|
||||||
|
@ -38,7 +38,7 @@ export const PERMISSIONS = {
|
||||||
parent: configurationAsParent,
|
parent: configurationAsParent,
|
||||||
permissionSelectors: [
|
permissionSelectors: [
|
||||||
CONFIGURATION_SELECTORS.pageTypes,
|
CONFIGURATION_SELECTORS.pageTypes,
|
||||||
menuSelectors.LEFT_MENU_SELECTORS.pages,
|
menuSelectors.MENU.pages,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
plugin: {
|
plugin: {
|
||||||
|
@ -47,7 +47,7 @@ export const PERMISSIONS = {
|
||||||
},
|
},
|
||||||
product: {
|
product: {
|
||||||
parent: {
|
parent: {
|
||||||
parentMenuSelector: menuSelectors.LEFT_MENU_SELECTORS.catalog,
|
parentMenuSelector: menuSelectors.MENU.catalog,
|
||||||
parentSelectors: menuSelectors.CATALOG,
|
parentSelectors: menuSelectors.CATALOG,
|
||||||
},
|
},
|
||||||
permissionSelectors: [
|
permissionSelectors: [
|
||||||
|
@ -89,7 +89,7 @@ export const PERMISSIONS = {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
translations: {
|
translations: {
|
||||||
permissionSelectors: [menuSelectors.LEFT_MENU_SELECTORS.translations],
|
permissionSelectors: [menuSelectors.MENU.translations],
|
||||||
},
|
},
|
||||||
warehouse: {
|
warehouse: {
|
||||||
parent: configurationAsParent,
|
parent: configurationAsParent,
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
import { PERMISSIONS } from "./permissions";
|
import { PERMISSIONS } from "./permissions";
|
||||||
import { ONE_PERMISSION_USERS, TEST_ADMIN_USER } from "./users";
|
import { ONE_PERMISSION_USERS } from "./users";
|
||||||
|
|
||||||
export const PERMISSIONS_OPTIONS = {
|
export const PERMISSIONS_OPTIONS = {
|
||||||
all: {
|
|
||||||
user: TEST_ADMIN_USER,
|
|
||||||
permissions: Object.values(PERMISSIONS),
|
|
||||||
testCase: "TC: SALEOR_3401",
|
|
||||||
},
|
|
||||||
app: {
|
app: {
|
||||||
user: ONE_PERMISSION_USERS.app,
|
user: ONE_PERMISSION_USERS.app,
|
||||||
permissions: [],
|
permissions: [],
|
||||||
|
|
|
@ -30,12 +30,13 @@ export const urlList = {
|
||||||
vouchers: "discounts/vouchers/",
|
vouchers: "discounts/vouchers/",
|
||||||
variant: "variant/",
|
variant: "variant/",
|
||||||
warehouses: "warehouses/",
|
warehouses: "warehouses/",
|
||||||
|
webhooksAndEvents: "custom-apps/",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const addVariantUrl = productId =>
|
export const addVariantUrl = productId =>
|
||||||
`${urlList.products}${productId}/${urlList.variants}add`;
|
`${urlList.products}${productId}/${urlList.variants}add`;
|
||||||
|
|
||||||
export const appDetailsUrl = appId => `${urlList.apps}${appId}`;
|
export const appDetailsUrl = appId => `${urlList.webhooksAndEvents}${appId}`;
|
||||||
|
|
||||||
export const attributeDetailsUrl = attributeId =>
|
export const attributeDetailsUrl = attributeId =>
|
||||||
`${urlList.attributes}${attributeId}`;
|
`${urlList.attributes}${attributeId}`;
|
||||||
|
|
|
@ -11,6 +11,9 @@ Cypress.Commands.add("clearAndType", { prevSubject: true }, (subject, text) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Cypress.Commands.add("clickOnElement", selector => {
|
||||||
|
cy.get(selector).click();
|
||||||
|
});
|
||||||
|
|
||||||
Cypress.Commands.add("waitForRequestAndCheckIfNoErrors", alias => {
|
Cypress.Commands.add("waitForRequestAndCheckIfNoErrors", alias => {
|
||||||
cy.wait(alias).then(resp => {
|
cy.wait(alias).then(resp => {
|
||||||
|
@ -35,3 +38,6 @@ Cypress.Commands.add("checkIfDataAreNotNull", data => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Cypress.Commands.add("checkIfElementIsVisible", element => {
|
||||||
|
cy.get(element).should("be.visible");
|
||||||
|
});
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import "../../api/requests/utils/index";
|
import "../../api/requests/utils/index";
|
||||||
|
|
||||||
import { LOGIN_SELECTORS } from "../../../elements/account/login-selectors";
|
import { LOGIN_SELECTORS } from "../../../elements/account/login-selectors";
|
||||||
|
import { urlList } from "../../../fixtures/urlList";
|
||||||
import { TEST_ADMIN_USER } from "../../../fixtures/users";
|
import { TEST_ADMIN_USER } from "../../../fixtures/users";
|
||||||
|
|
||||||
Cypress.Commands.add("loginUser", () =>
|
Cypress.Commands.add("loginUser", () =>
|
||||||
|
@ -17,6 +18,13 @@ Cypress.Commands.add("loginInShop", () => {
|
||||||
cy.loginUserViaRequest("token");
|
cy.loginUserViaRequest("token");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add("visitHomePageLoggedViaApi", user => {
|
||||||
|
cy.addAliasToGraphRequest("Home")
|
||||||
|
.loginUserViaRequest("auth", user)
|
||||||
|
.visit(urlList.homePage)
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@Home");
|
||||||
|
});
|
||||||
|
|
||||||
Cypress.Commands.add(
|
Cypress.Commands.add(
|
||||||
"loginUserViaRequest",
|
"loginUserViaRequest",
|
||||||
(authorization = "auth", user = TEST_ADMIN_USER) => {
|
(authorization = "auth", user = TEST_ADMIN_USER) => {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { CATEGORY_DETAILS } from "../../../elements/catalog/categories/category-details";
|
import { CATEGORY_DETAILS_SELECTORS } from "../../../elements/catalog/categories/category-details";
|
||||||
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../../elements/shared/sharedElements";
|
||||||
|
|
||||||
|
@ -14,16 +14,16 @@ export function updateCategory({ name, description }) {
|
||||||
|
|
||||||
export function fillUpCategoryGeneralInfo({ name, description }) {
|
export function fillUpCategoryGeneralInfo({ name, description }) {
|
||||||
return cy
|
return cy
|
||||||
.get(CATEGORY_DETAILS.descriptionInput)
|
.get(CATEGORY_DETAILS_SELECTORS.descriptionInput)
|
||||||
.find(SHARED_ELEMENTS.contentEditable)
|
.find(SHARED_ELEMENTS.contentEditable)
|
||||||
.should("be.visible")
|
.should("be.visible")
|
||||||
.get(CATEGORY_DETAILS.descriptionInput)
|
.get(CATEGORY_DETAILS_SELECTORS.descriptionInput)
|
||||||
.click()
|
.click()
|
||||||
.get(CATEGORY_DETAILS.descriptionInput)
|
.get(CATEGORY_DETAILS_SELECTORS.descriptionInput)
|
||||||
.find(SHARED_ELEMENTS.contentEditable)
|
.find(SHARED_ELEMENTS.contentEditable)
|
||||||
.get(CATEGORY_DETAILS.descriptionInput)
|
.get(CATEGORY_DETAILS_SELECTORS.descriptionInput)
|
||||||
.clearAndType(description)
|
.clearAndType(description)
|
||||||
.get(CATEGORY_DETAILS.nameInput)
|
.get(CATEGORY_DETAILS_SELECTORS.nameInput)
|
||||||
.clearAndType(name);
|
.clearAndType(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
12
cypress/support/pages/configurationPage.js
Normal file
12
cypress/support/pages/configurationPage.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import { CONFIGURATION_SELECTORS } from "../../elements";
|
||||||
|
|
||||||
|
export function expectConfigurationAvailableSectionsNumber(sectionsNumber) {
|
||||||
|
cy.get(CONFIGURATION_SELECTORS.configurationMenu)
|
||||||
|
.find("[data-test-id*=subsection]")
|
||||||
|
.should("have.length", sectionsNumber);
|
||||||
|
}
|
||||||
|
export function expectConfigurationSectionsToBeVisible(...sections) {
|
||||||
|
sections.forEach(selector => {
|
||||||
|
cy.get(selector).scrollIntoView().should("be.visible");
|
||||||
|
});
|
||||||
|
}
|
12
cypress/support/pages/mainMenuPage.js
Normal file
12
cypress/support/pages/mainMenuPage.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import { MENU_SELECTORS } from "../../elements";
|
||||||
|
|
||||||
|
export function expectMainMenuAvailableSections(sectionsNumber) {
|
||||||
|
cy.get(MENU_SELECTORS.MENU.list)
|
||||||
|
.find(MENU_SELECTORS.MENU.menuItem)
|
||||||
|
.should("have.length", sectionsNumber);
|
||||||
|
}
|
||||||
|
export function expectMainMenuSectionsToBeVisible(...sections) {
|
||||||
|
sections.forEach(selector => {
|
||||||
|
cy.get(selector).should("be.visible");
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
import { PAGE_DETAILS } from "../../elements/pages/page-details";
|
import { PAGE_DETAILS_SELECTORS } from "../../elements/pages/page-details";
|
||||||
import { PAGES_LIST } from "../../elements/pages/pages-list";
|
import { PAGES_LIST_SELECTORS } from "../../elements/pages/pages-list";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { urlList } from "../../fixtures/urlList";
|
import { urlList } from "../../fixtures/urlList";
|
||||||
|
@ -15,7 +15,10 @@ export const attributesTypes = {
|
||||||
export function fillUpPageTypeDialog({ pageTypeName }) {
|
export function fillUpPageTypeDialog({ pageTypeName }) {
|
||||||
const organization = {};
|
const organization = {};
|
||||||
return cy
|
return cy
|
||||||
.fillAutocompleteSelect(PAGES_LIST.dialogPageTypeInput, pageTypeName)
|
.fillAutocompleteSelect(
|
||||||
|
PAGES_LIST_SELECTORS.dialogPageTypeInput,
|
||||||
|
pageTypeName,
|
||||||
|
)
|
||||||
.then(selected => {
|
.then(selected => {
|
||||||
organization.pageType = selected;
|
organization.pageType = selected;
|
||||||
return organization;
|
return organization;
|
||||||
|
@ -35,25 +38,30 @@ export function createPage({
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addSelectAttributeValue(attributeValue) {
|
export function addSelectAttributeValue(attributeValue) {
|
||||||
cy.fillAutocompleteSelect(PAGE_DETAILS.attributeValues, attributeValue);
|
cy.fillAutocompleteSelect(
|
||||||
|
PAGE_DETAILS_SELECTORS.attributeValues,
|
||||||
|
attributeValue,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addRichTextAttributeValue(attributeValue) {
|
export function addRichTextAttributeValue(attributeValue) {
|
||||||
cy.get(PAGE_DETAILS.attributeValues)
|
cy.get(PAGE_DETAILS_SELECTORS.attributeValues)
|
||||||
.find(SHARED_ELEMENTS.richTextEditor.empty)
|
.find(SHARED_ELEMENTS.richTextEditor.empty)
|
||||||
.should("exist")
|
.should("exist")
|
||||||
.get(PAGE_DETAILS.attributeValues)
|
.get(PAGE_DETAILS_SELECTORS.attributeValues)
|
||||||
.find(PAGE_DETAILS.richTextEditorAttributeValue)
|
.find(PAGE_DETAILS_SELECTORS.richTextEditorAttributeValue)
|
||||||
.type(attributeValue)
|
.type(attributeValue)
|
||||||
.wait(500);
|
.wait(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addBooleanAttributeValue() {
|
export function addBooleanAttributeValue() {
|
||||||
cy.get(PAGE_DETAILS.booleanAttributeValueCheckbox).click();
|
cy.get(PAGE_DETAILS_SELECTORS.booleanAttributeValueCheckbox).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function addNumericAttributeValue(attributeValue) {
|
export function addNumericAttributeValue(attributeValue) {
|
||||||
cy.get(PAGE_DETAILS.numericAttributeValueInput).type(attributeValue);
|
cy.get(PAGE_DETAILS_SELECTORS.numericAttributeValueInput).type(
|
||||||
|
attributeValue,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function openCreatePageAndFillUpGeneralFields({
|
function openCreatePageAndFillUpGeneralFields({
|
||||||
|
@ -61,19 +69,17 @@ function openCreatePageAndFillUpGeneralFields({
|
||||||
pageTypeName,
|
pageTypeName,
|
||||||
isPublished,
|
isPublished,
|
||||||
}) {
|
}) {
|
||||||
cy.visit(urlList.pages)
|
cy.visit(urlList.pages).get(PAGES_LIST_SELECTORS.createPageButton).click();
|
||||||
.get(PAGES_LIST.createPageButton)
|
|
||||||
.click();
|
|
||||||
fillUpPageTypeDialog({ pageTypeName });
|
fillUpPageTypeDialog({ pageTypeName });
|
||||||
cy.get(BUTTON_SELECTORS.submit)
|
cy.get(BUTTON_SELECTORS.submit)
|
||||||
.click()
|
.click()
|
||||||
.get(PAGE_DETAILS.nameInput)
|
.get(PAGE_DETAILS_SELECTORS.nameInput)
|
||||||
.type(pageName);
|
.type(pageName);
|
||||||
if (!isPublished) {
|
if (!isPublished) {
|
||||||
cy.get(PAGE_DETAILS.isNotPublishedCheckbox).click();
|
cy.get(PAGE_DETAILS_SELECTORS.isNotPublishedCheckbox).click();
|
||||||
}
|
}
|
||||||
cy.fillAutocompleteSelect(
|
cy.fillAutocompleteSelect(
|
||||||
PAGE_DETAILS.pageTypesAutocompleteSelect,
|
PAGE_DETAILS_SELECTORS.pageTypesAutocompleteSelect,
|
||||||
pageTypeName,
|
pageTypeName,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { LEFT_MENU_SELECTORS } from "../../elements/account/left-menu/left-menu-selectors";
|
import { MENU_SELECTORS } from "../../elements/account/left-menu/left-menu-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { urlList } from "../../fixtures/urlList";
|
import { urlList } from "../../fixtures/urlList";
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export function isElementDisplayed(element = SHARED_ELEMENTS.header) {
|
||||||
return cy.get("body").then(body => body.find(element).length > 0);
|
return cy.get("body").then(body => body.find(element).length > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDisplayedSelectors(selectors = LEFT_MENU_SELECTORS) {
|
export function getDisplayedSelectors(selectors = MENU_SELECTORS) {
|
||||||
const displayedSelectors = {};
|
const displayedSelectors = {};
|
||||||
|
|
||||||
cy.wrap(displayedSelectors).as("displayedSelectors");
|
cy.wrap(displayedSelectors).as("displayedSelectors");
|
||||||
|
@ -58,7 +58,7 @@ export function expectAllSelectorsPermitted(permissions, selectors) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function isPermitted(permissions, selector) {
|
function isPermitted(permissions, selector) {
|
||||||
let permittedSelectors = [LEFT_MENU_SELECTORS.home];
|
let permittedSelectors = [MENU_SELECTORS.home];
|
||||||
|
|
||||||
permissions.forEach(permission => {
|
permissions.forEach(permission => {
|
||||||
if (permission.parent) {
|
if (permission.parent) {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
import { PRODUCT_TYPE_DETAILS } from "../../elements/productTypes/productTypeDetails";
|
import { PRODUCT_TYPE_DETAILS_SELECTORS } from "../../elements/productTypes/productTypeDetails";
|
||||||
import { PRODUCT_TYPES_LIST } from "../../elements/productTypes/productTypesList";
|
import { PRODUCT_TYPES_LIST_SELECTORS } from "../../elements/productTypes/productTypesList";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
|
|
||||||
export function createProductType({ name, shippingWeight, giftCard = false }) {
|
export function createProductType({ name, shippingWeight, giftCard = false }) {
|
||||||
cy.get(PRODUCT_TYPES_LIST.addProductTypeButton)
|
cy.get(PRODUCT_TYPES_LIST_SELECTORS.addProductTypeButton)
|
||||||
.click()
|
.click()
|
||||||
.waitForProgressBarToNotBeVisible()
|
.waitForProgressBarToNotBeVisible()
|
||||||
.get(PRODUCT_TYPE_DETAILS.nameInput)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.nameInput)
|
||||||
.type(name);
|
.type(name);
|
||||||
if (giftCard) {
|
if (giftCard) {
|
||||||
cy.get(PRODUCT_TYPE_DETAILS.giftCardKindCheckbox).click();
|
cy.get(PRODUCT_TYPE_DETAILS_SELECTORS.giftCardKindCheckbox).click();
|
||||||
}
|
}
|
||||||
if (shippingWeight) {
|
if (shippingWeight) {
|
||||||
cy.get(PRODUCT_TYPE_DETAILS.isShippingRequired)
|
cy.get(PRODUCT_TYPE_DETAILS_SELECTORS.isShippingRequired)
|
||||||
.click()
|
.click()
|
||||||
.get(PRODUCT_TYPE_DETAILS.shippingWeightInput)
|
.get(PRODUCT_TYPE_DETAILS_SELECTORS.shippingWeightInput)
|
||||||
.type(shippingWeight);
|
.type(shippingWeight);
|
||||||
}
|
}
|
||||||
return cy
|
return cy
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { SHIPPING_RATE_DETAILS } from "../../elements/shipping/shipping-rate-details";
|
import { SHIPPING_RATE_DETAILS } from "../../elements/shipping/shipping-rate-details";
|
||||||
import { SHIPPING_ZONE_DETAILS } from "../../elements/shipping/shipping-zone-details";
|
import { SHIPPING_ZONE_DETAILS } from "../../elements/shipping/shipping-zone-details";
|
||||||
import { SHIPPING_ZONES_LIST } from "../../elements/shipping/shipping-zones-list";
|
import { SHIPPING_ZONES_LIST_SELECTORS } from "../../elements/shipping/shipping-zones-list";
|
||||||
|
|
||||||
export function createShippingZone(
|
export function createShippingZone(
|
||||||
shippingName,
|
shippingName,
|
||||||
|
@ -10,7 +10,7 @@ export function createShippingZone(
|
||||||
country,
|
country,
|
||||||
channelName,
|
channelName,
|
||||||
) {
|
) {
|
||||||
cy.get(SHIPPING_ZONES_LIST.addShippingZone).click();
|
cy.get(SHIPPING_ZONES_LIST_SELECTORS.addShippingZone).click();
|
||||||
fillUpShippingZoneData({
|
fillUpShippingZoneData({
|
||||||
shippingName,
|
shippingName,
|
||||||
warehouseName,
|
warehouseName,
|
||||||
|
@ -65,9 +65,9 @@ export function fillUpShippingZoneData({
|
||||||
}
|
}
|
||||||
|
|
||||||
export function changeWeightUnit(weightUnit) {
|
export function changeWeightUnit(weightUnit) {
|
||||||
cy.fillBaseSelect(SHIPPING_ZONES_LIST.unitSelect, weightUnit)
|
cy.fillBaseSelect(SHIPPING_ZONES_LIST_SELECTORS.unitSelect, weightUnit)
|
||||||
.addAliasToGraphRequest("UpdateDefaultWeightUnit")
|
.addAliasToGraphRequest("UpdateDefaultWeightUnit")
|
||||||
.get(SHIPPING_ZONES_LIST.saveUnit)
|
.get(SHIPPING_ZONES_LIST_SELECTORS.saveUnit)
|
||||||
.click()
|
.click()
|
||||||
.confirmationMessageShouldAppear()
|
.confirmationMessageShouldAppear()
|
||||||
.waitForRequestAndCheckIfNoErrors("@UpdateDefaultWeightUnit")
|
.waitForRequestAndCheckIfNoErrors("@UpdateDefaultWeightUnit")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
||||||
import { ELEMENT_TRANSLATION } from "../../elements/translations/element-translation";
|
import { ELEMENT_TRANSLATION } from "../../elements/translations/element-translation";
|
||||||
import { LANGUAGES_LIST } from "../../elements/translations/languages-list";
|
import { LANGUAGES_LIST_SELECTORS } from "../../elements/translations/languages-list";
|
||||||
import { urlList } from "../../fixtures/urlList";
|
import { urlList } from "../../fixtures/urlList";
|
||||||
|
|
||||||
export function updateTranslationToCategory({
|
export function updateTranslationToCategory({
|
||||||
|
@ -12,7 +12,10 @@ export function updateTranslationToCategory({
|
||||||
translatedSeoDescription,
|
translatedSeoDescription,
|
||||||
}) {
|
}) {
|
||||||
cy.visit(urlList.translations);
|
cy.visit(urlList.translations);
|
||||||
enterCategoryTranslation(LANGUAGES_LIST.polishLanguageButton, categoryName);
|
enterCategoryTranslation(
|
||||||
|
LANGUAGES_LIST_SELECTORS.polishLanguageButton,
|
||||||
|
categoryName,
|
||||||
|
);
|
||||||
cy.get(ELEMENT_TRANSLATION.editNameButton)
|
cy.get(ELEMENT_TRANSLATION.editNameButton)
|
||||||
.click()
|
.click()
|
||||||
.get(SHARED_ELEMENTS.skeleton)
|
.get(SHARED_ELEMENTS.skeleton)
|
||||||
|
@ -49,9 +52,7 @@ export function updateTranslationToCategory({
|
||||||
|
|
||||||
export function enterCategoryTranslation(language, categoryName) {
|
export function enterCategoryTranslation(language, categoryName) {
|
||||||
cy.addAliasToGraphRequest("CategoryTranslations");
|
cy.addAliasToGraphRequest("CategoryTranslations");
|
||||||
cy.get(language)
|
cy.get(language).click().waitForProgressBarToNotExist();
|
||||||
.click()
|
|
||||||
.waitForProgressBarToNotExist();
|
|
||||||
getCategoryFromTable(categoryName);
|
getCategoryFromTable(categoryName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { SET_PASSWORD } from "../../elements/account/setPassword";
|
import { SET_PASSWORD } from "../../elements/account/setPassword";
|
||||||
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
||||||
import { INVITE_STAFF_MEMBER_FORM } from "../../elements/staffMembers/inviteStaffMemberForm";
|
import { INVITE_STAFF_MEMBER_FORM_SELECTORS } from "../../elements/staffMembers/inviteStaffMemberForm";
|
||||||
import { STAFF_MEMBER_DETAILS } from "../../elements/staffMembers/staffMemberDetails";
|
import { STAFF_MEMBER_DETAILS_SELECTORS } from "../../elements/staffMembers/staffMemberDetails";
|
||||||
import { userDetailsUrl } from "../../fixtures/urlList";
|
import { userDetailsUrl } from "../../fixtures/urlList";
|
||||||
|
|
||||||
export function fillUpSetPassword(password) {
|
export function fillUpSetPassword(password) {
|
||||||
|
@ -22,8 +22,8 @@ export function fillUpUserDetailsAndAddFirstPermission(
|
||||||
) {
|
) {
|
||||||
fillUpOnlyUserDetails(firstName, lastName, email);
|
fillUpOnlyUserDetails(firstName, lastName, email);
|
||||||
cy.confirmationMessageShouldDisappear()
|
cy.confirmationMessageShouldDisappear()
|
||||||
.fillAutocompleteSelect(STAFF_MEMBER_DETAILS.permissionsSelect)
|
.fillAutocompleteSelect(STAFF_MEMBER_DETAILS_SELECTORS.permissionsSelect)
|
||||||
.get(STAFF_MEMBER_DETAILS.permissionsSelect)
|
.get(STAFF_MEMBER_DETAILS_SELECTORS.permissionsSelect)
|
||||||
.find("input")
|
.find("input")
|
||||||
.first()
|
.first()
|
||||||
.type("{esc}", { force: true })
|
.type("{esc}", { force: true })
|
||||||
|
@ -34,11 +34,11 @@ export function fillUpUserDetailsAndAddFirstPermission(
|
||||||
}
|
}
|
||||||
|
|
||||||
export function fillUpOnlyUserDetails(firstName, lastName, email) {
|
export function fillUpOnlyUserDetails(firstName, lastName, email) {
|
||||||
cy.get(INVITE_STAFF_MEMBER_FORM.firstNameInput)
|
cy.get(INVITE_STAFF_MEMBER_FORM_SELECTORS.firstNameInput)
|
||||||
.type(firstName)
|
.type(firstName)
|
||||||
.get(INVITE_STAFF_MEMBER_FORM.lastNameInput)
|
.get(INVITE_STAFF_MEMBER_FORM_SELECTORS.lastNameInput)
|
||||||
.type(lastName)
|
.type(lastName)
|
||||||
.get(INVITE_STAFF_MEMBER_FORM.emailInput)
|
.get(INVITE_STAFF_MEMBER_FORM_SELECTORS.emailInput)
|
||||||
.type(email)
|
.type(email)
|
||||||
.get(BUTTON_SELECTORS.submit)
|
.get(BUTTON_SELECTORS.submit)
|
||||||
.click();
|
.click();
|
||||||
|
@ -46,7 +46,7 @@ export function fillUpOnlyUserDetails(firstName, lastName, email) {
|
||||||
|
|
||||||
export function updateUserActiveFlag(userId) {
|
export function updateUserActiveFlag(userId) {
|
||||||
cy.visitAndWaitForProgressBarToDisappear(userDetailsUrl(userId))
|
cy.visitAndWaitForProgressBarToDisappear(userDetailsUrl(userId))
|
||||||
.get(STAFF_MEMBER_DETAILS.isActiveCheckBox)
|
.get(STAFF_MEMBER_DETAILS_SELECTORS.isActiveCheckBox)
|
||||||
.click()
|
.click()
|
||||||
.addAliasToGraphRequest("StaffMemberUpdate")
|
.addAliasToGraphRequest("StaffMemberUpdate")
|
||||||
.get(BUTTON_SELECTORS.confirm)
|
.get(BUTTON_SELECTORS.confirm)
|
||||||
|
|
|
@ -84,7 +84,7 @@ const CompanyAddressForm: React.FC<CompanyAddressFormProps> = props => {
|
||||||
const formErrors = getFormErrors(formFields, errors);
|
const formErrors = getFormErrors(formFields, errors);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={classes.root}>
|
<div className={classes.root} data-test-id="company-info">
|
||||||
<TextField
|
<TextField
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
error={!!formErrors.companyName}
|
error={!!formErrors.companyName}
|
||||||
|
|
|
@ -19,7 +19,10 @@ export const ItemGroup: React.FC<Props> = ({ menuItem }) => {
|
||||||
const isExpanded = isActive || hasSubmenuActive;
|
const isExpanded = isActive || hasSubmenuActive;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<List.ItemGroup defaultExpanded={isExpanded}>
|
<List.ItemGroup
|
||||||
|
defaultExpanded={isExpanded}
|
||||||
|
data-test-id={`menu-list-item`}
|
||||||
|
>
|
||||||
<List.ItemGroup.Trigger
|
<List.ItemGroup.Trigger
|
||||||
paddingX={5}
|
paddingX={5}
|
||||||
borderRadius={3}
|
borderRadius={3}
|
||||||
|
|
|
@ -9,7 +9,7 @@ export const Menu = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box padding={6} overflowY="auto" className="hide-scrollbar">
|
<Box padding={6} overflowY="auto" className="hide-scrollbar">
|
||||||
<List as="ol" display="grid" gap={3}>
|
<List as="ol" display="grid" gap={3} data-test-id="menu-list">
|
||||||
{menuStructure.map(menuItem => (
|
{menuStructure.map(menuItem => (
|
||||||
<MenuItem menuItem={menuItem} key={menuItem.id} />
|
<MenuItem menuItem={menuItem} key={menuItem.id} />
|
||||||
))}
|
))}
|
||||||
|
|
|
@ -98,7 +98,7 @@ export const ConfigurationPage: React.FC<ConfigurationPageProps> = props => {
|
||||||
<TopNav title={intl.formatMessage(sectionNames.configuration)}>
|
<TopNav title={intl.formatMessage(sectionNames.configuration)}>
|
||||||
{isSmUp && renderVersionInfo}
|
{isSmUp && renderVersionInfo}
|
||||||
</TopNav>
|
</TopNav>
|
||||||
<DetailPageLayout.Content>
|
<DetailPageLayout.Content data-test-id="configuration-menu">
|
||||||
<Box paddingX={9} __maxWidth={"1024px"} margin="auto">
|
<Box paddingX={9} __maxWidth={"1024px"} margin="auto">
|
||||||
{menus
|
{menus
|
||||||
.filter(menu =>
|
.filter(menu =>
|
||||||
|
|
|
@ -64,6 +64,7 @@ const OrderDraftListPage: React.FC<OrderDraftListPageProps> = ({
|
||||||
variant="primary"
|
variant="primary"
|
||||||
disabled={disabled || limitsReached}
|
disabled={disabled || limitsReached}
|
||||||
onClick={onAdd}
|
onClick={onAdd}
|
||||||
|
data-test-id="create-draft-order-button"
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id="LshEVn"
|
id="LshEVn"
|
||||||
|
|
|
@ -47,7 +47,7 @@ const TranslationsLanguageList: React.FC<
|
||||||
<Card>
|
<Card>
|
||||||
<CardContent className={classes.cardContent}>
|
<CardContent className={classes.cardContent}>
|
||||||
<ResponsiveTable>
|
<ResponsiveTable>
|
||||||
<TableBody>
|
<TableBody data-test-id="translation-list-view">
|
||||||
{renderCollection(
|
{renderCollection(
|
||||||
languages,
|
languages,
|
||||||
language => (
|
language => (
|
||||||
|
|
|
@ -29,6 +29,7 @@ const TranslationsProductList: React.FC<TranslationsEntityListProps> = ({
|
||||||
return (
|
return (
|
||||||
<PaginatorContext.Provider value={paginationValues}>
|
<PaginatorContext.Provider value={paginationValues}>
|
||||||
<TranslationsEntitiesList
|
<TranslationsEntitiesList
|
||||||
|
data-test-id="translation-list-view"
|
||||||
disabled={loading}
|
disabled={loading}
|
||||||
entities={mapEdgesToItems(data?.translations)?.map(
|
entities={mapEdgesToItems(data?.translations)?.map(
|
||||||
node =>
|
node =>
|
||||||
|
|
Loading…
Reference in a new issue