Test maintenance - draft orders, pagination, create page (#4034)
* removed multiple redirects from draft order and limit assertion on pagination * test fix - create not published page - assertion as delay added for page name
This commit is contained in:
parent
aaf646399e
commit
7c38c29cae
6 changed files with 88 additions and 58 deletions
|
@ -3,14 +3,12 @@
|
|||
|
||||
import faker from "faker";
|
||||
|
||||
import {
|
||||
BUTTON_SELECTORS,
|
||||
ORDERS_SELECTORS,
|
||||
SHARED_ELEMENTS,
|
||||
} from "../../elements/";
|
||||
import { SHARED_ELEMENTS } from "../../elements/";
|
||||
import { urlList } from "../../fixtures/urlList";
|
||||
import {
|
||||
createCustomer,
|
||||
getDraftOrdersList,
|
||||
getOrdersList,
|
||||
updateOrdersSettings,
|
||||
} from "../../support/api/requests/";
|
||||
import {
|
||||
|
@ -19,13 +17,6 @@ import {
|
|||
getDefaultChannel,
|
||||
} from "../../support/api/utils/";
|
||||
import * as productsUtils from "../../support/api/utils/products/productsUtils";
|
||||
import {
|
||||
ensureCanvasStatic,
|
||||
} from "../../support/customCommands/sharedElementsOperations/canvas";
|
||||
import {
|
||||
finalizeDraftOrder,
|
||||
selectChannelInPicker,
|
||||
} from "../../support/pages/";
|
||||
|
||||
describe("Draft orders", () => {
|
||||
const startsWith = "CyDraftOrders-";
|
||||
|
@ -104,16 +95,22 @@ describe("Draft orders", () => {
|
|||
{ tags: ["@orders", "@allEnv"] },
|
||||
() => {
|
||||
let draftOrderNumber;
|
||||
let order;
|
||||
cy.addAliasToGraphRequest("OrderDraftFinalize");
|
||||
cy.addAliasToGraphRequest("OrderList");
|
||||
|
||||
cy.visit(urlList.orders);
|
||||
cy.get(ORDERS_SELECTORS.createOrderButton).click();
|
||||
selectChannelInPicker(defaultChannel.name);
|
||||
finalizeDraftOrder(randomName, address)
|
||||
.wait("@OrderDraftFinalize")
|
||||
createUnconfirmedOrder({
|
||||
customerId: customer.id,
|
||||
channelId: defaultChannel.id,
|
||||
shippingMethod,
|
||||
variantsList,
|
||||
address,
|
||||
warehouse: warehouse.id,
|
||||
}).then(({ order: orderResp }) => {
|
||||
order = orderResp;
|
||||
cy.visit(urlList.orders + `${order.id}`);
|
||||
cy.clickFinalizeButton()
|
||||
.confirmationMessageShouldAppear()
|
||||
.waitForRequestAndCheckIfNoErrors("@OrderDraftFinalize")
|
||||
.then(finalizedDraftOrderResponse => {
|
||||
cy.log(finalizedDraftOrderResponse);
|
||||
draftOrderNumber =
|
||||
finalizedDraftOrderResponse.response.body.data.draftOrderComplete
|
||||
.order.number;
|
||||
|
@ -121,13 +118,16 @@ describe("Draft orders", () => {
|
|||
"contain.text",
|
||||
draftOrderNumber,
|
||||
);
|
||||
cy.get(BUTTON_SELECTORS.back)
|
||||
.click()
|
||||
.waitForRequestAndCheckIfNoErrors("@OrderList");
|
||||
cy.visit(urlList.draftOrders).then(() => {
|
||||
cy.url().should("include", urlList.draftOrders);
|
||||
ensureCanvasStatic(SHARED_ELEMENTS.dataGridTable);
|
||||
cy.contains(draftOrderNumber).should("not.exist");
|
||||
getDraftOrdersList().then(draftOrdersListResponse => {
|
||||
draftOrdersListResponse.edges.forEach(order => {
|
||||
expect(order.node.number).not.eq(draftOrderNumber);
|
||||
});
|
||||
});
|
||||
getOrdersList().then(ordersListResponse => {
|
||||
expect(JSON.stringify(ordersListResponse.edges)).to.contains(
|
||||
`"number":"${draftOrderNumber}"`,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
|
|
@ -3,23 +3,14 @@
|
|||
|
||||
import faker from "faker";
|
||||
|
||||
import {
|
||||
BUTTON_SELECTORS,
|
||||
PAGE_DETAILS_SELECTORS,
|
||||
} from "../../elements";
|
||||
import {
|
||||
pageDetailsUrl,
|
||||
urlList,
|
||||
} from "../../fixtures/urlList";
|
||||
import { BUTTON_SELECTORS, PAGE_DETAILS_SELECTORS } from "../../elements";
|
||||
import { pageDetailsUrl, urlList } from "../../fixtures/urlList";
|
||||
import {
|
||||
attributeRequests,
|
||||
pageRequests,
|
||||
pageTypeRequests,
|
||||
} from "../../support/api/requests";
|
||||
import {
|
||||
pageDetailsPage,
|
||||
pagesPage,
|
||||
} from "../../support/pages";
|
||||
import { pageDetailsPage, pagesPage } from "../../support/pages";
|
||||
|
||||
describe("Tests for pages", () => {
|
||||
const startsWith = `Pages`;
|
||||
|
@ -65,7 +56,7 @@ describe("Tests for pages", () => {
|
|||
pagesPage.selectPageTypeOnIndex(0);
|
||||
cy.clickSubmitButton();
|
||||
cy.waitForRequestAndCheckIfNoErrors("@PageType");
|
||||
pageDetailsPage.typePageName(pageName);
|
||||
pageDetailsPage.typePageName(pageName).should("have.value", pageName);
|
||||
cy.get(PAGE_DETAILS_SELECTORS.isNotPublishedCheckbox).click();
|
||||
pagesPage.savePage().then(page => {
|
||||
pageRequests.getPage(page.id).then(page => {
|
||||
|
|
|
@ -2,13 +2,9 @@
|
|||
/// <reference types="../../../support"/>
|
||||
|
||||
import { PAGINATION } from "../../../elements";
|
||||
import {
|
||||
PRODUCTS_LIST,
|
||||
} from "../../../elements/catalog/products/products-list";
|
||||
import { PRODUCTS_LIST } from "../../../elements/catalog/products/products-list";
|
||||
import { urlList } from "../../../fixtures/urlList";
|
||||
import {
|
||||
ensureCanvasStatic,
|
||||
} from "../../../support/customCommands/sharedElementsOperations/canvas";
|
||||
import { ensureCanvasStatic } from "../../../support/customCommands/sharedElementsOperations/canvas";
|
||||
|
||||
describe("As an admin I should be able to manage products table", () => {
|
||||
beforeEach(() => {
|
||||
|
@ -43,7 +39,9 @@ describe("As an admin I should be able to manage products table", () => {
|
|||
.get(PAGINATION.nextPagePaginationButton)
|
||||
.should("not.be.disabled");
|
||||
ensureCanvasStatic(PRODUCTS_LIST.dataGridTable).then(() => {
|
||||
cy.assertCanvasRowsNumber(PRODUCTS_LIST.dataGridTable, 21);
|
||||
cy.get(PRODUCTS_LIST.dataGridTable)
|
||||
.find("tr")
|
||||
.should("have.length.above", 10);
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
@ -170,6 +170,38 @@ export function getOrder(orderId) {
|
|||
}`;
|
||||
return cy.sendRequestWithQuery(query).its("body.data.order");
|
||||
}
|
||||
export function getDraftOrdersList() {
|
||||
const query = `query OrderDraftList{
|
||||
draftOrders(first:100){
|
||||
edges{
|
||||
node{
|
||||
id
|
||||
number
|
||||
errors{
|
||||
message
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
return cy.sendRequestWithQuery(query).its("body.data.draftOrders");
|
||||
}
|
||||
export function getOrdersList() {
|
||||
const query = `query OrderList{
|
||||
orders(first:100){
|
||||
edges{
|
||||
node{
|
||||
id
|
||||
number
|
||||
errors{
|
||||
message
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
return cy.sendRequestWithQuery(query).its("body.data.orders");
|
||||
}
|
||||
|
||||
export function fulfillOrder({ orderId, warehouse, quantity, linesId }) {
|
||||
const lines = linesId.reduce((lines, lineId) => {
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
export { createChannel, updateChannelOrderSettings } from "./Channels";
|
||||
export { createCustomer, deleteCustomersStartsWith } from "./Customer";
|
||||
export { createDraftOrder, getOrder, updateOrdersSettings } from "./Order";
|
||||
export {
|
||||
createDraftOrder,
|
||||
getDraftOrdersList,
|
||||
getOrder,
|
||||
getOrdersList,
|
||||
updateOrdersSettings,
|
||||
} from "./Order";
|
||||
export { updateMetadata, updatePrivateMetadata } from "./Metadata";
|
||||
export { getProductMetadata } from "./storeFront/ProductDetails";
|
||||
export { activatePlugin, updatePlugin } from "./Plugins";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { PAGINATION } from "../../../elements";
|
||||
import { DRAFT_ORDER_SELECTORS, PAGINATION } from "../../../elements";
|
||||
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||
import {
|
||||
selectorWithDataValue,
|
||||
|
@ -23,6 +23,9 @@ Cypress.Commands.add("clickSubmitButton", () =>
|
|||
Cypress.Commands.add("clickConfirmButton", () =>
|
||||
cy.get(BUTTON_SELECTORS.confirm).click(),
|
||||
);
|
||||
Cypress.Commands.add("clickFinalizeButton", () =>
|
||||
cy.get(DRAFT_ORDER_SELECTORS.finalizeButton).click(),
|
||||
);
|
||||
Cypress.Commands.add("openColumnPicker", () =>
|
||||
cy.get(SHARED_ELEMENTS.openColumnPickerButton).click(),
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue