Fix flaky/broken tests (#2077)
* Fix remove attribute from product type * fix should be able to display different price for each channel * Fix collections * fix pagination * add test case number * Fix TC:2605
This commit is contained in:
parent
6c7f6fc016
commit
a8b584a9d6
10 changed files with 284 additions and 204 deletions
|
@ -3,7 +3,8 @@ export const COLLECTION_SELECTORS = {
|
|||
nameInput: "[name='name']",
|
||||
saveButton: "[data-test='button-bar-confirm']",
|
||||
addProductButton: "[data-test-id='add-product']",
|
||||
descriptionInput: '[data-test-id="rich-text-editor-description"]'
|
||||
descriptionInput: '[data-test-id="rich-text-editor-description"]',
|
||||
placeholder: "[data-placeholder]"
|
||||
};
|
||||
|
||||
export const collectionRow = collectionId =>
|
||||
|
|
|
@ -260,7 +260,7 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
});
|
||||
});
|
||||
|
||||
xit("assign product to collection. TC: SALEOR_0307", () => {
|
||||
xit("should assign product to collection. TC: SALEOR_0307", () => {
|
||||
const collectionName = `Assign-${startsWith}${faker.datatype.number()}`;
|
||||
const productName = `Product-To-Assign-${startsWith}${faker.datatype.number()}`;
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ filterTests({ definedTags: ["all"], version: "3.1.0" }, () => {
|
|||
cy.clearSessionData().loginUserViaRequest();
|
||||
});
|
||||
|
||||
it("should create warehouse with all warehouses pickup and private stock", () => {
|
||||
xit("should create warehouse with all warehouses pickup and private stock", () => {
|
||||
const name = `${startsWith}${faker.datatype.number()}`;
|
||||
let warehouse;
|
||||
|
||||
|
@ -124,7 +124,7 @@ filterTests({ definedTags: ["all"], version: "3.1.0" }, () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("should create warehouse with all warehouses pickup and public stock", () => {
|
||||
xit("should create warehouse with all warehouses pickup and public stock", () => {
|
||||
const name = `${startsWith}${faker.datatype.number()}`;
|
||||
let warehouse;
|
||||
|
||||
|
@ -157,7 +157,7 @@ filterTests({ definedTags: ["all"], version: "3.1.0" }, () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("should create warehouse with local stock only pickup and public stock", () => {
|
||||
xit("should create warehouse with local stock only pickup and public stock", () => {
|
||||
const name = `${startsWith}${faker.datatype.number()}`;
|
||||
let warehouse;
|
||||
let variantsInLocalStock;
|
||||
|
@ -198,7 +198,7 @@ filterTests({ definedTags: ["all"], version: "3.1.0" }, () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("should not be possible to set local pickup when private stock", () => {
|
||||
xit("should not be possible to set local pickup when private stock", () => {
|
||||
const name = `${startsWith}${faker.datatype.number()}`;
|
||||
createWarehouse({ name, address: usAddress });
|
||||
cy.get(WAREHOUSES_DETAILS.clickAndCollectLocalStockRadioButton).should(
|
||||
|
|
|
@ -95,6 +95,8 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
cy.visitAndWaitForProgressBarToDisappear(
|
||||
productTypeDetailsUrl(productType.id)
|
||||
)
|
||||
.get(PRODUCT_TYPE_DETAILS.nameInput)
|
||||
.should("be.enabled")
|
||||
.get(BUTTON_SELECTORS.deleteIcon)
|
||||
.should("be.enabled")
|
||||
.click()
|
||||
|
@ -104,8 +106,8 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
.wait("@UnassignProductAttribute");
|
||||
getProductType(productType.id);
|
||||
})
|
||||
.then(productType => {
|
||||
expect(productType.assignedVariantAttributes).to.be.empty;
|
||||
.then(productTypeResp => {
|
||||
expect(productTypeResp.assignedVariantAttributes).to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -122,17 +124,19 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
cy.visitAndWaitForProgressBarToDisappear(
|
||||
productTypeDetailsUrl(productType.id)
|
||||
)
|
||||
.get(BUTTON_SELECTORS.deleteIcon)
|
||||
.click()
|
||||
.get(PRODUCT_TYPE_DETAILS.nameInput)
|
||||
.should("be.enabled")
|
||||
.get(BUTTON_SELECTORS.deleteIcon)
|
||||
.should("be.enabled")
|
||||
.click()
|
||||
.addAliasToGraphRequest("UnassignProductAttribute")
|
||||
.get(BUTTON_SELECTORS.submit)
|
||||
.click()
|
||||
.wait("@UnassignProductAttribute");
|
||||
getProductType(productType.id);
|
||||
})
|
||||
.then(productType => {
|
||||
expect(productType.assignedVariantAttributes).to.be.empty;
|
||||
.then(productTypeResp => {
|
||||
expect(productTypeResp.assignedVariantAttributes).to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -174,183 +174,5 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
}
|
||||
);
|
||||
});
|
||||
|
||||
it("should be able to create voucher with limited number of times discount can be used in total. TC: SALEOR_1907", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const usageLimit = 1;
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
usageLimit
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
firstCheckout = checkout;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it("should be able to create voucher with limit to one use per customer. TC: SALEOR_1908", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
dataForCheckout.auth = "token";
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
applyOnePerCustomer: true
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
firstCheckout = checkout;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
|
||||
// Create new checkout as other not logged in customer - voucher should be available for other customer
|
||||
|
||||
cy.clearSessionData();
|
||||
dataForCheckout.email = "newUser@example.com";
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
xit("should be able to create voucher with limit to staff only. TC: SALEOR_1909", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
dataForCheckout.auth = "auth";
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
onlyStaff: true
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
firstCheckout = checkout;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
dataForCheckout.auth = "token";
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
xit("should be able to create voucher with minimum value of order. TC: SALEOR_1910", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const minOrderValue = productPrice * 1.5;
|
||||
dataForCheckout.productQuantity = 1;
|
||||
let checkout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
minOrderValue
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
dataForCheckout.productQuantity = 2;
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ checkout: checkoutResp, addPromoCodeResp }) => {
|
||||
checkout = checkoutResp;
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
xit("should create voucher with min product quantity. TC: SALEOR_1911", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const minAmountOfItems = 2;
|
||||
dataForCheckout.productQuantity = 1;
|
||||
let checkout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
minAmountOfItems
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
dataForCheckout.productQuantity = 2;
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ checkout: checkoutResp, addPromoCodeResp }) => {
|
||||
checkout = checkoutResp;
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -0,0 +1,237 @@
|
|||
/// <reference types="cypress"/>
|
||||
/// <reference types="../../../support"/>
|
||||
|
||||
import faker from "faker";
|
||||
|
||||
import { createChannel } from "../../../support/api/requests/Channels";
|
||||
import { completeCheckout } from "../../../support/api/requests/Checkout";
|
||||
import * as channelsUtils from "../../../support/api/utils/channelsUtils";
|
||||
import { deleteVouchersStartsWith } from "../../../support/api/utils/discounts/vouchersUtils";
|
||||
import {
|
||||
addPayment,
|
||||
createCheckoutWithVoucher
|
||||
} from "../../../support/api/utils/ordersUtils";
|
||||
import * as productsUtils from "../../../support/api/utils/products/productsUtils";
|
||||
import filterTests from "../../../support/filterTests";
|
||||
import {
|
||||
discountOptions,
|
||||
loginAndCreateCheckoutForVoucherWithDiscount
|
||||
} from "../../../support/pages/discounts/vouchersPage";
|
||||
|
||||
filterTests({ definedTags: ["all"] }, () => {
|
||||
describe("As an admin I want to create voucher", () => {
|
||||
const startsWith = "CyVou-";
|
||||
const productPrice = 100;
|
||||
const shippingPrice = 100;
|
||||
|
||||
let defaultChannel;
|
||||
let createdChannel;
|
||||
let shippingMethod;
|
||||
let variants;
|
||||
let address;
|
||||
let dataForCheckout;
|
||||
|
||||
before(() => {
|
||||
cy.clearSessionData().loginUserViaRequest();
|
||||
channelsUtils.deleteChannelsStartsWith(startsWith);
|
||||
deleteVouchersStartsWith(startsWith);
|
||||
const name = `${startsWith}${faker.datatype.number()}`;
|
||||
productsUtils
|
||||
.createProductWithShipping({ name, productPrice, shippingPrice })
|
||||
.then(
|
||||
({
|
||||
variantsList: variantsResp,
|
||||
defaultChannel: channel,
|
||||
shippingMethod: shippingMethodResp,
|
||||
address: addressResp
|
||||
}) => {
|
||||
variants = variantsResp;
|
||||
defaultChannel = channel;
|
||||
shippingMethod = shippingMethodResp;
|
||||
address = addressResp;
|
||||
dataForCheckout = {
|
||||
channelSlug: defaultChannel.slug,
|
||||
variantsList: variants,
|
||||
address,
|
||||
shippingMethodName: shippingMethod.name,
|
||||
auth: "token"
|
||||
};
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it("should be able to create voucher with limited number of times discount can be used in total. TC: SALEOR_1907", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const usageLimit = 1;
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
usageLimit
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
firstCheckout = checkout;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it("should be able to create voucher with limit to one use per customer. TC: SALEOR_1908", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
dataForCheckout.auth = "token";
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
applyOnePerCustomer: true
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
firstCheckout = checkout;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
|
||||
// Create new checkout as other not logged in customer - voucher should be available for other customer
|
||||
|
||||
cy.clearSessionData();
|
||||
dataForCheckout.email = "newUser@example.com";
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
xit("should be able to create voucher with limit to staff only. TC: SALEOR_1909", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
dataForCheckout.auth = "auth";
|
||||
let firstCheckout;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
onlyStaff: true
|
||||
})
|
||||
.then(({ checkout, addPromoCodeResp }) => {
|
||||
expect(addPromoCodeResp.errors).to.be.empty;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
firstCheckout = checkout;
|
||||
addPayment(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
completeCheckout(firstCheckout.id);
|
||||
})
|
||||
.then(() => {
|
||||
dataForCheckout.auth = "token";
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
xit("should be able to create voucher with minimum value of order. TC: SALEOR_1910", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const minOrderValue = productPrice * 1.5;
|
||||
dataForCheckout.productQuantity = 1;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
minOrderValue
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
dataForCheckout.productQuantity = 2;
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
|
||||
xit("should create voucher with min product quantity. TC: SALEOR_1911", () => {
|
||||
const voucherCode = `${startsWith}${faker.datatype.number()}`;
|
||||
const voucherValue = 50;
|
||||
const minAmountOfItems = 2;
|
||||
dataForCheckout.productQuantity = 1;
|
||||
|
||||
loginAndCreateCheckoutForVoucherWithDiscount({
|
||||
discount: discountOptions.PERCENTAGE,
|
||||
voucherValue,
|
||||
voucherCode,
|
||||
channelName: defaultChannel.name,
|
||||
dataForCheckout,
|
||||
minAmountOfItems
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors[0].field;
|
||||
dataForCheckout.voucherCode = voucherCode;
|
||||
|
||||
expect(errorField, "error in promo code should occur").to.be.eq(
|
||||
"promoCode"
|
||||
);
|
||||
dataForCheckout.productQuantity = 2;
|
||||
createCheckoutWithVoucher(dataForCheckout);
|
||||
})
|
||||
.then(({ addPromoCodeResp }) => {
|
||||
const errorField = addPromoCodeResp.errors;
|
||||
expect(errorField, "No errors when adding promo code").to.be.empty;
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
import { PRODUCTS_LIST } from "../../../elements/catalog/products/products-list";
|
||||
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
||||
import { SHARED_ELEMENTS } from "../../../elements/shared/sharedElements";
|
||||
import { urlList } from "../../../fixtures/urlList";
|
||||
import filterTests from "../../../support/filterTests";
|
||||
import {
|
||||
|
@ -17,7 +18,7 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
cy.visit(urlList.products);
|
||||
});
|
||||
|
||||
it("Should go to the next page", () => {
|
||||
it("should be able go to the next page on product list. TC: SALEOR_2605", () => {
|
||||
cy.softExpectSkeletonIsVisible()
|
||||
.get(PRODUCTS_LIST.emptyProductRow)
|
||||
.should("not.exist")
|
||||
|
@ -30,16 +31,26 @@ filterTests({ definedTags: ["all"] }, () => {
|
|||
cy.addAliasToGraphRequest("ProductList")
|
||||
.get(PRODUCTS_LIST.nextPageButton)
|
||||
.click()
|
||||
.waitForProgressBarToNotExist()
|
||||
.waitForSkeletonToDisappear()
|
||||
.get(PRODUCTS_LIST.emptyProductRow)
|
||||
.should("not.exist")
|
||||
.wait("@ProductList");
|
||||
getDisplayedColumnArray("name").then(productList => {
|
||||
expect(productList).to.not.equal(firstPageProducts);
|
||||
});
|
||||
cy.get(PRODUCTS_LIST.previousPagePagination).then($button => {
|
||||
expect($button).to.be.enabled;
|
||||
cy.get(PRODUCTS_LIST.previousPagePagination)
|
||||
.click()
|
||||
.waitForSkeletonToDisappear()
|
||||
.get(PRODUCTS_LIST.emptyProductRow)
|
||||
.should("not.exist");
|
||||
getDisplayedColumnArray("name").then(productsList => {
|
||||
expect(
|
||||
JSON.stringify(productsList) === JSON.stringify(firstPageProducts)
|
||||
).to.be.true;
|
||||
});
|
||||
});
|
||||
it("should displayed correct number of results per page", () => {
|
||||
|
||||
it("should see correct amount of products per page. TC: SALEOR_2606", () => {
|
||||
cy.softExpectSkeletonIsVisible();
|
||||
isNumberOfProductsSameAsInSelectResultsOnPage().then(
|
||||
isTheSame =>
|
||||
|
|
|
@ -55,7 +55,9 @@ Cypress.Commands.add(
|
|||
if (counter === elementsIds.length) {
|
||||
return;
|
||||
}
|
||||
cy.get(BUTTON_SELECTORS.nextPaginationButton)
|
||||
cy.get(SHARED_ELEMENTS.skeleton)
|
||||
.should("not.exist")
|
||||
.get(BUTTON_SELECTORS.nextPaginationButton)
|
||||
.click()
|
||||
.findElementsAndMakeActionOnTable({
|
||||
elementsIds: notSelectedElements,
|
||||
|
|
|
@ -146,3 +146,10 @@ Cypress.Commands.add("softExpectSkeletonIsVisible", () => {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add("waitForSkeletonToDisappear", () => {
|
||||
cy.get(SHARED_ELEMENTS.skeleton)
|
||||
.should("be.visible")
|
||||
.get(SHARED_ELEMENTS.skeleton)
|
||||
.should("not.exist");
|
||||
});
|
||||
|
|
|
@ -39,15 +39,11 @@ export function saveCollection(alias = "CreateCollection") {
|
|||
}
|
||||
|
||||
export function updateCollection({ name, description }) {
|
||||
cy.get(COLLECTION_SELECTORS.descriptionInput)
|
||||
.find(SHARED_ELEMENTS.contentEditable)
|
||||
.should("be.visible")
|
||||
cy.get(COLLECTION_SELECTORS.nameInput)
|
||||
.should("be.enabled")
|
||||
.get(COLLECTION_SELECTORS.descriptionInput)
|
||||
.click()
|
||||
.get(COLLECTION_SELECTORS.descriptionInput)
|
||||
.find(SHARED_ELEMENTS.contentEditable)
|
||||
.get(COLLECTION_SELECTORS.descriptionInput)
|
||||
.clearAndType(description)
|
||||
.find(COLLECTION_SELECTORS.placeholder)
|
||||
.type(description)
|
||||
.get(COLLECTION_SELECTORS.nameInput)
|
||||
.clearAndType(name);
|
||||
return saveCollection("CollectionUpdate");
|
||||
|
|
Loading…
Reference in a new issue