first commit

This commit is contained in:
2025-08-02 16:30:27 +02:00
commit 23646bfcee
14851 changed files with 1750626 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
import * as wpj from '../support/wpj';
import * as gtm from '../support/gtm';
describe('Průchod košíkem s vybráním dopravy Balíkovny', () => {
afterEach(() => {
gtm.checkUserInfoPosition();
});
it('Přidej produkt do košíku', () => {
wpj.addProductToCart();
});
it('Přejdi do košíku', () => {
wpj.stepIntoCart();
gtm.dataLayerContainsEvent('begin_checkout');
cy.matchImageSnapshot('Košík');
});
it('Výběr Balikovny', () => {
cy.get('.delivery-item-balikovna .custom-control-input').then(($radio) => {
if (!$radio.is(':checked')) {
cy.get('.delivery-item-balikovna > .custom-radio').click();
} else {
cy.get('[data-btn="open-balikovna-widget"]').click();
}
});
cy.getIframeBody('iframe[data-src*="BALIKOVNY"]')
.find('.Suggest-input')
.should('exist')
.type('54301{enter}');
cy.wait(5000);
cy.getIframeBody('iframe[data-src*="BALIKOVNY"]')
.find('.Suggest-resultButton')
.first()
.click();
cy.wait(5000);
cy.getIframeBody('iframe[data-src*="BALIKOVNY"]')
.find('.PointRow', { timeout: 10000 })
.contains('Krkonošská 164', { timeout: 10000 })
.click();
cy.getIframeBody('iframe[data-src*="BALIKOVNY"]').find('.PointDetail-btnPrimary').click();
});
it('Doprava se vybrala správně', () => {
cy.get('.delivery-item-balikovna').should('have.class', 'selected');
cy.get('.delivery-class-info').contains('Vrchlabí SAZKA Tabák Krkonošská 164');
cy.get('.delivery-class-info').contains('Krkonošská 164, 54301, Vrchlabí');
cy.wait(1000);
gtm.dataLayerContainsEvent('add_shipping_info');
cy.matchImageSnapshot('Košík s vybranou dopravou Balikovna');
});
it('Výběr dobírky', () => {
cy.get('.payment-item-dobirka').first().click().should('have.class', 'selected');
gtm.dataLayerContainsEvent('add_payment_info');
cy.matchImageSnapshot('Košík s dobírkou');
});
it('Kontrola ceny', () => {
cy.get('.price-box .price-box-row:first-child > :nth-child(2)').contains('149 Kč');
cy.get('.price-box .price-box-row:nth-child(2) > :nth-child(2)').contains('134 Kč');
cy.get('.price-box .price-box-row:nth-child(3) > :nth-child(2)').contains('233,88 Kč');
cy.get('.price-box .total-price > :nth-child(2)').contains('283 Kč');
});
it('Proklik na vyplnění údajů', () => {
cy.get('.cart-nextstep-wrapper > .btn').click({ force: true });
cy.wait(1500);
wpj.fillCustomerDeliveryInfo();
gtm.dataLayerContainsEvent('add_contact_details');
cy.matchImageSnapshot('Košík s vyplněnými údaji pro doručení');
});
it('Dokončení nákupního procesu', () => {
cy.get('.cart-nextstep-wrapper > .btn').click();
cy.get('.page-ordersuccess').contains('úspěšně přijali');
gtm.dataLayerContainsEvent('purchase');
gtm.dataLayerEventEcommerceContainsKey('purchase', 'transaction_id');
gtm.dataLayerEventContainsEcommerceItem('purchase', {
...gtm.getCelenkaEcommerceItem(),
category_current: [],
quantity: 1,
});
cy.matchImageSnapshot('Odeslaná objednávka');
});
});

View File

@@ -0,0 +1,39 @@
import * as wpj from '../support/wpj';
describe('Průchod košíkem Osobní odběr', () => {
it('Vejdi do detailu produktu', () => {
wpj.visitProductDetail();
});
it('Zobrazení dostupnosti - kdy zboží dostanu', () => {
cy.get('.c-product-deliverytime button').first().click({ force: true }).wait(1000);
cy.get('.c-modal .close').first().click({ force: true });
});
it('Zvýšit počet na 2 kusy', () => {
cy.get('.c-product-buycount .plus_unit').first().click();
cy.get('.c-product-buycount .form-control').should('have.value', '2');
});
it('Přidat do košíku a kontrola že se zvětšila cena na 298', () => {
cy.get('.btn.c-product-addtocartbutton').first().click();
cy.get('.price-total strong').contains('298');
});
it('Přejít do košíku', () => {
wpj.stepIntoCart();
});
it('Výběr Osobní odběr a platba hotovosti', () => {
cy.get('.delivery-item-osobniodber > .custom-radio').click();
cy.get('.payment-item-hotovost').first().click();
});
it('Pokračovat na vyplnění údajů', () => {
cy.get('.cart-nextstep-wrapper > .btn').click({ force: true });
wpj.fillCustomerInfo();
});
it('Dokončit objednávku', () => {
cy.get('.cart-nextstep-wrapper > .btn').click();
cy.get('.page-ordersuccess').contains('úspěšně přijali');
});
it('Kontrola funkčnosti odkazu na detail objednávky', () => {
cy.get('.page-ordersuccess').contains('Detail objednávky').click({ force: true });
cy.url().should('include', '/objednavka/');
});
});

View File

@@ -0,0 +1,33 @@
import * as wpj from '../support/wpj';
describe('Průchod košíkem s vybráním dopravy Zasilkovna', () => {
// it('Přidej produkt do košíku a vyber Zasilkovna dopravu', () => {
// wpj.addProductToCart();
// wpj.stepIntoCart();
// cy.get('.delivery-item-zasilkovna > .custom-radio').click();
// cy.get('.deliveries-box', {
// timeout: 2000,
// }).should('be.visible');
// cy.url().should('include', 'doprava-platba');
// });
// it('Vyber Zasilkovny', () => {
// cy.get('.delivery-item-zasilkovna> .custom-radio').click({ force: true });
// cy.getIframeBody('#packeta-widget')
// .find('.custom-autocomplete input')
// .type('Vrchlabí{enter}');
// cy.getIframeBody('#packeta-widget')
// .find('custom-autocomplete__list li.point', { timeout: 3000 })
// .first()
// .click();
// cy.getIframeBody('#packeta-widget').find('#btn_select_branch').click();
// });
// it('Proklik na vyplnění údajů', () => {
// cy.get('.cart-nextstep-wrapper > .btn', { timeout: 10000 }).click({ force: true });
// cy.url().should('include', '/kosik/udaje/');
// wpj.fillCustomerDeliveryInfo();
// });
// it('Dokončení nákupního procesu', () => {
// cy.get('.cart-nextstep-wrapper > .btn').click();
// cy.get('.cart-success-message').contains('úspěšně přijata');
// });
});

View File

@@ -0,0 +1,68 @@
import * as wpj from '../support/wpj';
describe('Výběr filtrů', () => {
it('Přechod do filtrovatelné sekce', () => {
cy.visit('/');
cy.get('.c-header-sections ul li a').contains('Káva').click();
cy.url().should('contain', '/kava_k451/');
cy.matchImageSnapshot('Sekce Káva{id=451}');
});
it('Kontrola výchozího počtu produktů', () => {
cy.get('.filter-total').should('contain', 6);
});
it('Kliknuti na filtr vyrobci', () => {
cy.get('.filter-top-horizontal > .filter-item:not(.filter-item-more)').last().click();
});
it('Vybrani vyrobce Beansmith\'s', () => {
cy.get('[for="mc-beansmith\'s-124"]').click();
cy.get('.reset-item').contains('Beansmith\'s');
cy.url().should('include', 'dynamic_filter%5BproducerIds%5D%5B0%5D=124');
cy.get('.filter-total').should('contain', 2);
cy.matchImageSnapshot('Sekce Káva filtrováno podle výrobce Beansmith\'s');
});
it('Vyber dalsiho filtru vyrobce Nordbeans', () => {
cy.get('[for="mc-nordbeans-125"]').click();
cy.get('.reset-item').contains('Nordbeans');
cy.url().should('include', 'dynamic_filter%5BproducerIds%5D%5B1%5D=125');
cy.get('.filter-total').should('contain', 6);
cy.matchImageSnapshot('Sekce Káva filtrováno podle výrobců Rafiki a wpj');
});
it('Reset filtru', () => {
cy.get('.reset-all').click();
cy.url().should('not.include', 'producerIds');
});
it('Výběr řazení "Nejlevnější"', () => {
cy.get('[name="order"]').select('Nejlevnější');
cy.url().should('include', 'order=price');
cy.matchImageSnapshot('Sekce Káva řazeno podle nejlevnějších produktů');
});
it('Výběr prvního produktu v aktivním filtru', () => {
wpj.getNthProduct(0).find('.product-link').first().click();
cy.get('.c-breadcrumbs .active').contains('Hacienda Sonora, 250g');
});
it('Výběr filtru "Nejdražší"', () => {
cy.get('.c-breadcrumbs li:nth-child(2) > a').click();
cy.get('.c-breadcrumbs .active').contains('Káva');
cy.get('[name="order"]').select('Nejdražší');
cy.url().should('include', 'order');
cy.matchImageSnapshot('Sekce Káva řazeno podle nejdražších produktů');
});
it('Výběr prvního produktu v aktivním filtru', () => {
wpj.getNthProduct(0).find('.product-link').first().click();
cy.get('.c-breadcrumbs .active').contains('Předplatné Espresso 1000g');
});
});

View File

@@ -0,0 +1,16 @@
import * as wpj from '../support/wpj';
describe('Výběr prvního produktu', () => {
it('Proklik na první sekci - Capsle', () => {
cy.visit('/');
cy.get('.c-header-sections ul li a').first().click();
cy.get('.c-breadcrumbs .active').contains('Capsle');
cy.url().should('contain', '/capsle_k436/');
});
it('Výběr prvního produktu', () => {
cy.get('.c-section-products > div .product-link').first().click();
cy.url().should('contain', '/darkovy-poukaz-capsle-1000-kc_z6263/');
cy.get('.c-breadcrumbs .active').first().contains('Dárkový poukaz Capsle 1000 Kč');
});
});

View File

@@ -0,0 +1,27 @@
import * as wpj from '../support/wpj';
describe('Zobrazení obrázku v produktu', () => {
it('Proklik na detail produktu + Kliknuti na obrazek', () => {
cy.visit('/');
cy.get('.c-header-sections [href*="typy-produktu"]').click();
wpj.getNthProduct(0).find('.product-link').first().click();
cy.get('.main-photo a').click();
cy.wait(3000);
});
it('Zavreni obrazku', () => {
cy.get('.pswp__button--close').click();
});
it('Proklik mezi obrazku u produktu', () => {
cy.visit('/');
cy.get('.c-header-sections [href*="typy-produktu"]').click();
wpj.getNthProduct(1).find('.product-link').first().click();
cy.get('.c-breadcrumbs .active').contains('Kolekce');
cy.get('.main-photo a').click();
cy.wait(3000);
cy.get('.pswp__button--arrow--next').click();
cy.get('.pswp').type('{esc}');
cy.wait(1000);
});
});

View File

@@ -0,0 +1,44 @@
import * as wpj from '../support/wpj';
describe('Konfigurace multisetu a přidání do košíku', () => {
it('Vejdi na detail multiset produktu', () => {
cy.visit('multiset-konfigurator_z6163/');
});
it('Otevři výběr první části multisetu', () => {
wpj.clickMultisetSelectionButton(1);
});
it('Vyber druhý produkt a variantu M', () => {
wpj.selectMultisetItem(2);
wpj.selectMultisetVariation('M');
});
it('Otevři popisek a galerii', () => {
cy.get('.jsmultisets-opener-title-wrapper').click({ multiple: true });
cy.wait(1000);
// TODO(havlicek): Vymyslet, jak udělat dobrý screenshot bez duplikace multisetu nebo použití viewportu, který je hodně malý
cy.matchImageSnapshot('Multiset s otevřeným popiskem a galerií', { capture: 'viewport' });
});
it('Vlož výběr do setu', () => {
wpj.clickAddToSetButton();
});
it('Otevři výběr druhé části multisetu, vyber variantu XL a vlož do setu', () => {
wpj.clickMultisetSelectionButton(2);
wpj.selectMultisetVariation('M');
wpj.clickAddToSetButton();
});
it('Otevři výběr třetí části multisetu a vlož do setu', () => {
wpj.clickMultisetSelectionButton(3);
wpj.clickAddToSetButton();
});
it('Přidej multiset do košíku', () => {
cy.get('.product-right-side .c-product-addtocartbutton').click();
cy.wait(1000);
cy.get('.cartbox-product').contains('Multiset');
});
});

View File

@@ -0,0 +1,48 @@
import * as gtm from '../support/gtm';
describe('Pruchod sekcemi pres navigaci', () => {
it('Kontrola, ze existuje sekce Typy produktů', () => {
cy.visit('/');
cy.get('.c-header-sections > .container').contains('Typy produktů');
});
it('Proklik do sekce Typy produktů', () => {
cy.get('.c-header-sections [href*="typy-produktu"]').click();
cy.get('.c-breadcrumbs .active').should('contain', 'Typy produktů');
});
it('Proklik do prvniho produktu', () => {
cy.get('.c-section-products .c-productlist-squareitem').contains('Dárkový poukaz 1000 Kč').click();
cy.get('.c-breadcrumbs .active').contains('Dárkový poukaz 1000 Kč');
});
it('Navrat pres navigaci do predchozi sekce', () => {
cy.get('.c-breadcrumbs li:nth-child(2) > a').click();
cy.get(' .c-breadcrumbs .active').should('contain', 'Typy produktů');
});
it('Zopakovat proklik do produktu s produktem Kolekce', () => {
cy.get('.c-section-products .c-productlist-squareitem').contains('Kolekce').click();
cy.get('.c-breadcrumbs .active').should('contain', 'Kolekce');
// cy.matchImageSnapshot();
});
it('Kliknuti na produkt tag, ktery neni stejny jako sekce, ze ktere prijdu', () => {
cy.get('.c-product-sections [href*="wpj_v90"]').click();
cy.get('.c-breadcrumbs .active').should('contain', 'Výrobce wpj');
});
it('Navigace skrz recommender na homepage', () => {
cy.visit('/');
cy.get('.c-editablecontent-recommender').eq(0).scrollIntoView();
cy.wait(1500);
gtm.dataLayerContainsEvent('view_item_list');
gtm.dataLayerEventEcommerceContainsKeyAndValue('view_item_list', 'item_list_name', 'recommender');
gtm.checkDataLayerEventHasCorrectPositionsForEcommerceItems('view_item_list');
cy.get('.c-editablecontent-recommender .c-productlist-squareitem').eq(1).find('.product-link').eq(0).then($link => {
$link.removeAttr('href');
});
cy.get('.c-editablecontent-recommender .c-productlist-squareitem').eq(1).find('.product-link').eq(0).click();
gtm.checkDataLayerEcommerceItemHasCorrectPosition('select_item', 0, 2);
});
});

View File

@@ -0,0 +1,17 @@
import * as wpj from '../support/wpj';
describe('Registrace a prihlaseni uzivatele', () => {
it('Registrace uzivatele', () => {
wpj.register();
cy.visit('/');
});
it('Odhlaseni uzivatele', () => {
wpj.logout();
});
it('Prihlaseni uzivatele', () => {
wpj.login();
// cy.matchImageSnapshot();
});
});