diff --git a/cypress/integration/products/menageProducts/availableForPurchaseProducts.js b/cypress/integration/products/menageProducts/availableForPurchaseProducts.js
index 9c4a3c468..39413c295 100644
--- a/cypress/integration/products/menageProducts/availableForPurchaseProducts.js
+++ b/cypress/integration/products/menageProducts/availableForPurchaseProducts.js
@@ -5,7 +5,7 @@ import { productDetailsUrl } from "../../../url/urlList";
import ChannelsUtils from "../../../utils/channelsUtils";
import ProductsUtils from "../../../utils/productsUtils";
import ShippingUtils from "../../../utils/shippingUtils";
-import StoreFrontProductUtils from "../../../utils/storeFront/storeFrontProductUtils";
+import { isProductAvailableForPurchase } from "../../../utils/storeFront/storeFrontProductUtils";
//
describe("Products available in listings", () => {
@@ -13,7 +13,6 @@ describe("Products available in listings", () => {
const channelsUtils = new ChannelsUtils();
const productsUtils = new ProductsUtils();
const productSteps = new ProductSteps();
- const frontShopProductUtils = new StoreFrontProductUtils();
const startsWith = "Cy-";
const name = `${startsWith}${faker.random.number()}`;
let productType;
@@ -74,14 +73,14 @@ describe("Products available in listings", () => {
productSteps.updateProductIsAvailableForPurchase(productUrl, true);
})
.then(() => {
- frontShopProductUtils.isProductAvailableForPurchase(
+ isProductAvailableForPurchase(
productsUtils.getCreatedProduct().id,
defaultChannel.slug,
productName
);
})
- .then(isProductVisible => {
- expect(isProductVisible).to.be.eq(true);
+ .then(isVisibleResp => {
+ expect(isVisibleResp).to.be.eq(true);
});
});
it("should update product to not available for purchase", () => {
@@ -102,7 +101,7 @@ describe("Products available in listings", () => {
productSteps.updateProductIsAvailableForPurchase(productUrl, false);
})
.then(() => {
- frontShopProductUtils.isProductAvailableForPurchase(
+ isProductAvailableForPurchase(
productsUtils.getCreatedProduct().id,
defaultChannel.slug,
productName
diff --git a/cypress/integration/products/menageProducts/publishedProducts.js b/cypress/integration/products/menageProducts/publishedProducts.js
index 48015293f..974f5756d 100644
--- a/cypress/integration/products/menageProducts/publishedProducts.js
+++ b/cypress/integration/products/menageProducts/publishedProducts.js
@@ -4,14 +4,13 @@ import ProductSteps from "../../../steps/productSteps";
import { productDetailsUrl } from "../../../url/urlList";
import ChannelsUtils from "../../../utils/channelsUtils";
import ProductsUtils from "../../../utils/productsUtils";
-import StoreFrontProductUtils from "../../../utils/storeFront/storeFrontProductUtils";
+import { isProductVisible } from "../../../utils/storeFront/storeFrontProductUtils";
//
describe("Published products", () => {
const channelsUtils = new ChannelsUtils();
const productsUtils = new ProductsUtils();
const productSteps = new ProductSteps();
- const frontShopProductUtils = new StoreFrontProductUtils();
const startsWith = "Cy-";
const name = `${startsWith}${faker.random.number()}`;
@@ -53,11 +52,7 @@ describe("Published products", () => {
const product = productsUtils.getCreatedProduct();
const productUrl = productDetailsUrl(product.id);
productSteps.updateProductPublish(productUrl, true);
- frontShopProductUtils.isProductVisible(
- product.id,
- defaultChannel.slug,
- productName
- );
+ isProductVisible(product.id, defaultChannel.slug, productName);
})
.then(isVisible => {
expect(isVisible).to.be.eq(true);
@@ -84,22 +79,14 @@ describe("Published products", () => {
product = productsUtils.getCreatedProduct();
const productUrl = productDetailsUrl(product.id);
productSteps.updateProductPublish(productUrl, false);
- frontShopProductUtils.isProductVisible(
- product.id,
- defaultChannel.slug,
- productName
- );
+ isProductVisible(product.id, defaultChannel.slug, productName);
})
.then(isVisible => {
expect(isVisible).to.be.eq(false);
cy.loginInShop();
})
.then(() => {
- frontShopProductUtils.isProductVisible(
- product.id,
- defaultChannel.slug,
- productName
- );
+ isProductVisible(product.id, defaultChannel.slug, productName);
})
.then(isVisible => {
expect(isVisible).to.be.eq(true);
diff --git a/cypress/integration/products/menageProducts/visibleInListingsProducts.js b/cypress/integration/products/menageProducts/visibleInListingsProducts.js
index 19463c5ce..b41dc2df9 100644
--- a/cypress/integration/products/menageProducts/visibleInListingsProducts.js
+++ b/cypress/integration/products/menageProducts/visibleInListingsProducts.js
@@ -4,14 +4,13 @@ import ProductSteps from "../../../steps/productSteps";
import { productDetailsUrl } from "../../../url/urlList";
import ChannelsUtils from "../../../utils/channelsUtils";
import ProductsUtils from "../../../utils/productsUtils";
-import StoreFrontProductUtils from "../../../utils/storeFront/storeFrontProductUtils";
+import { isProductVisibleInSearchResult } from "../../../utils/storeFront/storeFrontProductUtils";
//
describe("Products displayed in listings", () => {
const channelsUtils = new ChannelsUtils();
const productsUtils = new ProductsUtils();
const productSteps = new ProductSteps();
- const frontShopProductUtils = new StoreFrontProductUtils();
const startsWith = "Cy-";
const name = `${startsWith}${faker.random.number()}`;
@@ -53,10 +52,7 @@ describe("Products displayed in listings", () => {
const product = productsUtils.getCreatedProduct();
const productUrl = productDetailsUrl(product.id);
productSteps.updateProductVisibleInListings(productUrl);
- frontShopProductUtils.isProductVisibleInSearchResult(
- productName,
- defaultChannel.slug
- );
+ isProductVisibleInSearchResult(productName, defaultChannel.slug);
})
.then(isProductVisible => {
expect(isProductVisible).to.be.eq(true);
@@ -82,18 +78,15 @@ describe("Products displayed in listings", () => {
const product = productsUtils.getCreatedProduct();
const productUrl = productDetailsUrl(product.id);
productSteps.updateProductVisibleInListings(productUrl);
- frontShopProductUtils
- .isProductVisibleInSearchResult(productName, defaultChannel.slug)
- .then(isProductVisible => {
+ isProductVisibleInSearchResult(productName, defaultChannel.slug).then(
+ isProductVisible => {
expect(isProductVisible).to.be.eq(false);
- });
+ }
+ );
cy.loginInShop();
})
.then(() => {
- frontShopProductUtils.isProductVisibleInSearchResult(
- productName,
- defaultChannel.slug
- );
+ isProductVisibleInSearchResult(productName, defaultChannel.slug);
})
.then(isProductVisible => {
expect(isProductVisible).to.be.eq(true);
diff --git a/cypress/utils/storeFront/storeFrontProductUtils.js b/cypress/utils/storeFront/storeFrontProductUtils.js
index 676075f19..854c3f79a 100644
--- a/cypress/utils/storeFront/storeFrontProductUtils.js
+++ b/cypress/utils/storeFront/storeFrontProductUtils.js
@@ -1,34 +1,32 @@
import ProductDetails from "../../apiRequests/storeFront/ProductDetails";
import Search from "../../apiRequests/storeFront/Search";
-class StoreFrontProductUtils {
- isProductVisible(productId, channelSlug, name) {
- const productDetails = new ProductDetails();
- return productDetails
- .getProductDetails(productId, channelSlug)
- .then(productDetailsResp => {
- const product = productDetailsResp.body.data.product;
- return product !== null && product.name === name;
- });
- }
- isProductAvailableForPurchase(productId, channelSlug) {
- const productDetails = new ProductDetails();
- return productDetails
- .getProductDetails(productId, channelSlug)
- .then(
- productDetailsResp =>
- productDetailsResp.body.data.product.isAvailableForPurchase
- );
- }
- isProductVisibleInSearchResult(productName, channelSlug) {
- const search = new Search();
- return search
- .searchInShop(productName, channelSlug)
- .then(
- resp =>
- resp.body.data.products.totalCount !== 0 &&
- resp.body.data.products.edges[0].node.name === productName
- );
- }
-}
-export default StoreFrontProductUtils;
+export const isProductVisible = (productId, channelSlug, name) => {
+ const productDetails = new ProductDetails();
+ return productDetails
+ .getProductDetails(productId, channelSlug)
+ .then(productDetailsResp => {
+ const product = productDetailsResp.body.data.product;
+ return product !== null && product.name === name;
+ });
+};
+
+export const isProductAvailableForPurchase = (productId, channelSlug) => {
+ const productDetails = new ProductDetails();
+ return productDetails
+ .getProductDetails(productId, channelSlug)
+ .then(
+ productDetailsResp =>
+ productDetailsResp.body.data.product.isAvailableForPurchase
+ );
+};
+export const isProductVisibleInSearchResult = (productName, channelSlug) => {
+ const search = new Search();
+ return search
+ .searchInShop(productName, channelSlug)
+ .then(
+ resp =>
+ resp.body.data.products.totalCount !== 0 &&
+ resp.body.data.products.edges[0].node.name === productName
+ );
+};