Files

102 lines
3.0 KiB
JavaScript

describe('Overlays', () => {
beforeEach(() => {
cy.visit('http://localhost:8080/overlays')
})
const overlays = ['ion-alert', 'ion-action-sheet', 'ion-loading', 'ion-modal', 'ion-popover'];
for (let overlay of overlays) {
it(`should open and close ${overlay} via controller`, () => {
console.log(overlay)
cy.get(`ion-radio#${overlay}`).click();
cy.get('ion-radio#controller').click();
cy.get('ion-button#present-overlay').click();
cy.get(overlay).should('exist').should('be.visible');
cy.get(`${overlay} ion-backdrop`).click({ force: true });
cy.get(overlay).should('not.exist');
});
}
it(`should open and close ion-toast via controller`, () => {
cy.get(`ion-radio#ion-toast`).click();
cy.get('ion-radio#controller').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-toast').should('exist');
cy.get('ion-toast').find('button').click();
cy.get('ion-toast').should('not.exist');
});
for (let overlay of overlays) {
it(`should open and close ${overlay} via component`, () => {
console.log(overlay)
cy.get(`ion-radio#${overlay}`).click();
cy.get('ion-radio#component').click();
cy.get('ion-button#present-overlay').click();
cy.get(overlay).should('exist').should('be.visible');
cy.get(`${overlay} ion-backdrop`).click({ force: true });
cy.get(overlay).should('not.exist');
});
}
it(`should open and close ion-toast via component`, () => {
cy.get(`ion-radio#ion-toast`).click();
cy.get('ion-radio#component').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-toast').should('exist');
cy.get('ion-toast').find('button').click();
cy.get('ion-toast').should('not.exist');
});
it('it should pass props to modal via controller', () => {
cy.get('ion-radio#ion-modal').click();
cy.get('ion-radio#controller').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-modal').should('exist');
cy.get('ion-modal ion-content').should('have.text', 'Custom Title');
});
it('it should pass props to modal via component', () => {
cy.get('ion-radio#ion-modal').click();
cy.get('ion-radio#component').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-modal').should('exist');
cy.get('ion-modal ion-content').should('have.text', 'Custom Title');
});
it('it should pass props to popover via controller', () => {
cy.get('ion-radio#ion-popover').click();
cy.get('ion-radio#controller').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-popover').should('exist');
cy.get('ion-popover ion-content').should('have.text', 'Custom Title');
});
it('it should pass props to popover via component', () => {
cy.get('ion-radio#ion-popover').click();
cy.get('ion-radio#component').click();
cy.get('ion-button#present-overlay').click();
cy.get('ion-popover').should('exist');
cy.get('ion-popover ion-content').should('have.text', 'Custom Title');
});
})