/// describe('Flow editor page', () => { before(() => { cy.login(); }); after(() => { cy.logout(); }); it('create flow', () => { cy.og('create-flow-button').click({ force: true }); }); it('has two steps by default', () => { cy.og('flow-step').should('have.length', 2); }); context('edit flow', () => { context('arrange Scheduler trigger', () => { context('choose app and event substep', () => { it('choose application', () => { cy.og('choose-app-autocomplete').click(); cy.get('li[role="option"]:contains("Scheduler")').click(); }); it('choose an event', () => { cy .og('choose-event-autocomplete') .should('be.visible') .click(); cy.get('li[role="option"]:contains("Every hour")').click(); }); it('continue to next step', () => { cy.og('flow-substep-continue-button').click(); }); it('collapses the substep', () => { cy.og('choose-app-autocomplete').should('not.be.visible'); cy.og('choose-event-autocomplete').should('not.be.visible'); }) }); context('set up a trigger', () => { it('choose "yes" in "trigger on weekends?"', () => { cy .og('parameters.triggersOnWeekend-autocomplete') .should('be.visible') .click(); cy.get('li[role="option"]:contains("Yes")').click(); }); it('continue to next step', () => { cy.og('flow-substep-continue-button').click(); }); it('collapses the substep', () => { cy.og('parameters.triggersOnWeekend-autocomplete').should('not.exist'); }); }); context('test trigger', () => { it('show sample output', () => { cy.og('flow-test-substep-output').should('not.exist'); cy.og('flow-substep-continue-button').click(); cy.og('flow-test-substep-output').should('be.visible'); cy.ss('Scheduler trigger test output'); cy.og('flow-substep-continue-button').click(); }); }); }); context('arrange Slack action', () => { context('choose app and event substep', () => { it('choose application', () => { cy.og('choose-app-autocomplete').click(); cy.get('li[role="option"]:contains("Slack")').click(); }); it('choose an event', () => { cy .og('choose-event-autocomplete') .should('be.visible') .click(); cy.get('li[role="option"]:contains("Send a message to channel")').click(); }); it('continue to next step', () => { cy.og('flow-substep-continue-button').click(); }); it('collapses the substep', () => { cy.og('choose-app-autocomplete').should('not.be.visible'); cy.og('choose-event-autocomplete').should('not.be.visible'); }); }); context('choose connection', () => { it('choose connection', () => { cy.og('choose-connection-autocomplete').click(); cy.get('li[role="option"]').first().click(); }); it('continue to next step', () => { cy.og('flow-substep-continue-button').click(); }); it('collapses the substep', () => { cy.og('choose-connection-autocomplete').should('not.be.visible'); }); }); context('set up action', () => { it('choose channel', () => { cy.og('parameters.channel-autocomplete').click(); cy.get('li[role="option"]').last().click(); }); it('arrange message text', () => { cy .og('power-input', ' [contenteditable]') .click() .type(`Hello from e2e tests! Here is the first suggested variable's value; `); cy .og('power-input-suggestion-group').first() .og('power-input-suggestion-item').first() .click(); cy.clickOutside(); cy.ss('Slack action message text'); }); it('continue to next step', () => { cy.og('flow-substep-continue-button').click(); }); it('collapses the substep', () => { cy .og('power-input', ' [contenteditable]') .should('not.exist'); }); }); context('test trigger', () => { it('show sample output', () => { cy.og('flow-test-substep-output').should('not.exist'); cy.og('flow-substep-continue-button').click(); cy.og('flow-test-substep-output').should('be.visible'); cy.ss('Slack action test output'); cy.og('flow-substep-continue-button').click(); }); }); }); }); context('publish and unpublish', () => { it('publish flow', () => { cy.og('unpublish-flow-button').should('not.exist'); cy .og('publish-flow-button') .should('be.visible') .click(); cy.og('publish-flow-button').should('not.exist'); }); it('shows read-only sticky snackbar', () => { cy.og('flow-cannot-edit-info-snackbar').should('be.visible'); cy.ss('Published flow'); }); it('unpublish from snackbar', () => { cy .og('unpublish-flow-from-snackbar') .click(); cy.og('flow-cannot-edit-info-snackbar').should('not.exist'); }) it('publish once again', () => { cy .og('publish-flow-button') .should('be.visible') .click(); cy.og('publish-flow-button').should('not.exist'); }); it('unpublish from layout top bar', () => { cy .og('unpublish-flow-button') .should('be.visible') .click(); cy.og('unpublish-flow-button').should('not.exist'); cy.ss('Unpublished flow'); }); }); context('in layout', () => { it('can go back to flows page', () => { cy.og('editor-go-back-button').click(); cy.location('pathname').should('equal', '/flows'); }); }); });