92 lines
3.3 KiB
TypeScript
92 lines
3.3 KiB
TypeScript
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');
|
|
});
|
|
});
|