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 faker from "faker";
|
||||||
|
|
||||||
import {
|
import { SHARED_ELEMENTS } from "../../elements/";
|
||||||
BUTTON_SELECTORS,
|
|
||||||
ORDERS_SELECTORS,
|
|
||||||
SHARED_ELEMENTS,
|
|
||||||
} from "../../elements/";
|
|
||||||
import { urlList } from "../../fixtures/urlList";
|
import { urlList } from "../../fixtures/urlList";
|
||||||
import {
|
import {
|
||||||
createCustomer,
|
createCustomer,
|
||||||
|
getDraftOrdersList,
|
||||||
|
getOrdersList,
|
||||||
updateOrdersSettings,
|
updateOrdersSettings,
|
||||||
} from "../../support/api/requests/";
|
} from "../../support/api/requests/";
|
||||||
import {
|
import {
|
||||||
|
@ -19,13 +17,6 @@ import {
|
||||||
getDefaultChannel,
|
getDefaultChannel,
|
||||||
} from "../../support/api/utils/";
|
} from "../../support/api/utils/";
|
||||||
import * as productsUtils from "../../support/api/utils/products/productsUtils";
|
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", () => {
|
describe("Draft orders", () => {
|
||||||
const startsWith = "CyDraftOrders-";
|
const startsWith = "CyDraftOrders-";
|
||||||
|
@ -104,16 +95,22 @@ describe("Draft orders", () => {
|
||||||
{ tags: ["@orders", "@allEnv"] },
|
{ tags: ["@orders", "@allEnv"] },
|
||||||
() => {
|
() => {
|
||||||
let draftOrderNumber;
|
let draftOrderNumber;
|
||||||
|
let order;
|
||||||
cy.addAliasToGraphRequest("OrderDraftFinalize");
|
cy.addAliasToGraphRequest("OrderDraftFinalize");
|
||||||
cy.addAliasToGraphRequest("OrderList");
|
createUnconfirmedOrder({
|
||||||
|
customerId: customer.id,
|
||||||
cy.visit(urlList.orders);
|
channelId: defaultChannel.id,
|
||||||
cy.get(ORDERS_SELECTORS.createOrderButton).click();
|
shippingMethod,
|
||||||
selectChannelInPicker(defaultChannel.name);
|
variantsList,
|
||||||
finalizeDraftOrder(randomName, address)
|
address,
|
||||||
.wait("@OrderDraftFinalize")
|
warehouse: warehouse.id,
|
||||||
|
}).then(({ order: orderResp }) => {
|
||||||
|
order = orderResp;
|
||||||
|
cy.visit(urlList.orders + `${order.id}`);
|
||||||
|
cy.clickFinalizeButton()
|
||||||
|
.confirmationMessageShouldAppear()
|
||||||
|
.waitForRequestAndCheckIfNoErrors("@OrderDraftFinalize")
|
||||||
.then(finalizedDraftOrderResponse => {
|
.then(finalizedDraftOrderResponse => {
|
||||||
cy.log(finalizedDraftOrderResponse);
|
|
||||||
draftOrderNumber =
|
draftOrderNumber =
|
||||||
finalizedDraftOrderResponse.response.body.data.draftOrderComplete
|
finalizedDraftOrderResponse.response.body.data.draftOrderComplete
|
||||||
.order.number;
|
.order.number;
|
||||||
|
@ -121,13 +118,16 @@ describe("Draft orders", () => {
|
||||||
"contain.text",
|
"contain.text",
|
||||||
draftOrderNumber,
|
draftOrderNumber,
|
||||||
);
|
);
|
||||||
cy.get(BUTTON_SELECTORS.back)
|
getDraftOrdersList().then(draftOrdersListResponse => {
|
||||||
.click()
|
draftOrdersListResponse.edges.forEach(order => {
|
||||||
.waitForRequestAndCheckIfNoErrors("@OrderList");
|
expect(order.node.number).not.eq(draftOrderNumber);
|
||||||
cy.visit(urlList.draftOrders).then(() => {
|
});
|
||||||
cy.url().should("include", urlList.draftOrders);
|
});
|
||||||
ensureCanvasStatic(SHARED_ELEMENTS.dataGridTable);
|
getOrdersList().then(ordersListResponse => {
|
||||||
cy.contains(draftOrderNumber).should("not.exist");
|
expect(JSON.stringify(ordersListResponse.edges)).to.contains(
|
||||||
|
`"number":"${draftOrderNumber}"`,
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,23 +3,14 @@
|
||||||
|
|
||||||
import faker from "faker";
|
import faker from "faker";
|
||||||
|
|
||||||
import {
|
import { BUTTON_SELECTORS, PAGE_DETAILS_SELECTORS } from "../../elements";
|
||||||
BUTTON_SELECTORS,
|
import { pageDetailsUrl, urlList } from "../../fixtures/urlList";
|
||||||
PAGE_DETAILS_SELECTORS,
|
|
||||||
} from "../../elements";
|
|
||||||
import {
|
|
||||||
pageDetailsUrl,
|
|
||||||
urlList,
|
|
||||||
} from "../../fixtures/urlList";
|
|
||||||
import {
|
import {
|
||||||
attributeRequests,
|
attributeRequests,
|
||||||
pageRequests,
|
pageRequests,
|
||||||
pageTypeRequests,
|
pageTypeRequests,
|
||||||
} from "../../support/api/requests";
|
} from "../../support/api/requests";
|
||||||
import {
|
import { pageDetailsPage, pagesPage } from "../../support/pages";
|
||||||
pageDetailsPage,
|
|
||||||
pagesPage,
|
|
||||||
} from "../../support/pages";
|
|
||||||
|
|
||||||
describe("Tests for pages", () => {
|
describe("Tests for pages", () => {
|
||||||
const startsWith = `Pages`;
|
const startsWith = `Pages`;
|
||||||
|
@ -65,7 +56,7 @@ describe("Tests for pages", () => {
|
||||||
pagesPage.selectPageTypeOnIndex(0);
|
pagesPage.selectPageTypeOnIndex(0);
|
||||||
cy.clickSubmitButton();
|
cy.clickSubmitButton();
|
||||||
cy.waitForRequestAndCheckIfNoErrors("@PageType");
|
cy.waitForRequestAndCheckIfNoErrors("@PageType");
|
||||||
pageDetailsPage.typePageName(pageName);
|
pageDetailsPage.typePageName(pageName).should("have.value", pageName);
|
||||||
cy.get(PAGE_DETAILS_SELECTORS.isNotPublishedCheckbox).click();
|
cy.get(PAGE_DETAILS_SELECTORS.isNotPublishedCheckbox).click();
|
||||||
pagesPage.savePage().then(page => {
|
pagesPage.savePage().then(page => {
|
||||||
pageRequests.getPage(page.id).then(page => {
|
pageRequests.getPage(page.id).then(page => {
|
||||||
|
|
|
@ -2,13 +2,9 @@
|
||||||
/// <reference types="../../../support"/>
|
/// <reference types="../../../support"/>
|
||||||
|
|
||||||
import { PAGINATION } from "../../../elements";
|
import { PAGINATION } from "../../../elements";
|
||||||
import {
|
import { PRODUCTS_LIST } from "../../../elements/catalog/products/products-list";
|
||||||
PRODUCTS_LIST,
|
|
||||||
} from "../../../elements/catalog/products/products-list";
|
|
||||||
import { urlList } from "../../../fixtures/urlList";
|
import { urlList } from "../../../fixtures/urlList";
|
||||||
import {
|
import { ensureCanvasStatic } from "../../../support/customCommands/sharedElementsOperations/canvas";
|
||||||
ensureCanvasStatic,
|
|
||||||
} from "../../../support/customCommands/sharedElementsOperations/canvas";
|
|
||||||
|
|
||||||
describe("As an admin I should be able to manage products table", () => {
|
describe("As an admin I should be able to manage products table", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
@ -43,7 +39,9 @@ describe("As an admin I should be able to manage products table", () => {
|
||||||
.get(PAGINATION.nextPagePaginationButton)
|
.get(PAGINATION.nextPagePaginationButton)
|
||||||
.should("not.be.disabled");
|
.should("not.be.disabled");
|
||||||
ensureCanvasStatic(PRODUCTS_LIST.dataGridTable).then(() => {
|
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");
|
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 }) {
|
export function fulfillOrder({ orderId, warehouse, quantity, linesId }) {
|
||||||
const lines = linesId.reduce((lines, lineId) => {
|
const lines = linesId.reduce((lines, lineId) => {
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
export { createChannel, updateChannelOrderSettings } from "./Channels";
|
export { createChannel, updateChannelOrderSettings } from "./Channels";
|
||||||
export { createCustomer, deleteCustomersStartsWith } from "./Customer";
|
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 { updateMetadata, updatePrivateMetadata } from "./Metadata";
|
||||||
export { getProductMetadata } from "./storeFront/ProductDetails";
|
export { getProductMetadata } from "./storeFront/ProductDetails";
|
||||||
export { activatePlugin, updatePlugin } from "./Plugins";
|
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 { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||||
import {
|
import {
|
||||||
selectorWithDataValue,
|
selectorWithDataValue,
|
||||||
|
@ -23,6 +23,9 @@ Cypress.Commands.add("clickSubmitButton", () =>
|
||||||
Cypress.Commands.add("clickConfirmButton", () =>
|
Cypress.Commands.add("clickConfirmButton", () =>
|
||||||
cy.get(BUTTON_SELECTORS.confirm).click(),
|
cy.get(BUTTON_SELECTORS.confirm).click(),
|
||||||
);
|
);
|
||||||
|
Cypress.Commands.add("clickFinalizeButton", () =>
|
||||||
|
cy.get(DRAFT_ORDER_SELECTORS.finalizeButton).click(),
|
||||||
|
);
|
||||||
Cypress.Commands.add("openColumnPicker", () =>
|
Cypress.Commands.add("openColumnPicker", () =>
|
||||||
cy.get(SHARED_ELEMENTS.openColumnPickerButton).click(),
|
cy.get(SHARED_ELEMENTS.openColumnPickerButton).click(),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue