diff --git a/tests/functional/cypress/e2e/form-apikey-cdogs.cy.js b/tests/functional/cypress/e2e/form-apikey-cdogs.cy.js index ca4ced762..aed9c8c8a 100644 --- a/tests/functional/cypress/e2e/form-apikey-cdogs.cy.js +++ b/tests/functional/cypress/e2e/form-apikey-cdogs.cy.js @@ -119,6 +119,9 @@ describe('Form Designer', () => { cy.get('[data-test="canRemoveForm"]').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('#logoutButton > .v-btn__content > span').click(); }) diff --git a/tests/functional/cypress/e2e/form-design-advanceddata.cy.js b/tests/functional/cypress/e2e/form-design-advanceddata.cy.js index b5a5b3bcf..522e32b29 100644 --- a/tests/functional/cypress/e2e/form-design-advanceddata.cy.js +++ b/tests/functional/cypress/e2e/form-design-advanceddata.cy.js @@ -227,6 +227,7 @@ it('Checks the Container component', () => { //cy.get('.mdi-delete').click(); cy.get(':nth-child(5) > .v-btn > .v-btn__content > .mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); }) diff --git a/tests/functional/cypress/e2e/form-design-advancedfield.cy.js b/tests/functional/cypress/e2e/form-design-advancedfield.cy.js index 1530de35c..eecdb660d 100644 --- a/tests/functional/cypress/e2e/form-design-advancedfield.cy.js +++ b/tests/functional/cypress/e2e/form-design-advancedfield.cy.js @@ -320,6 +320,7 @@ describe('Form Designer', () => { cy.waitForLoad(); cy.get('.mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); }) diff --git a/tests/functional/cypress/e2e/form-design-basicfields.cy.js b/tests/functional/cypress/e2e/form-design-basicfields.cy.js index e6a0854a3..822fa4146 100644 --- a/tests/functional/cypress/e2e/form-design-basicfields.cy.js +++ b/tests/functional/cypress/e2e/form-design-basicfields.cy.js @@ -243,14 +243,15 @@ describe('Form Designer', () => { cy.get('button').contains('Save').click(); }); - cy.get('[ref=removeComponent]').then($el => { + //cy.get('[ref=removeComponent]').then($el => { - const rem=$el[11]; - rem.click(); + // const rem=$el[11]; + //rem.click(); - }); - + //}); + cy.waitForLoad(); + cy.waitForLoad(); cy.get('[data-cy=saveButton]').click(); cy.waitForLoad(); @@ -288,9 +289,11 @@ describe('Form Designer', () => { cy.visit(`/${depEnv}/form/design?d=${arrayValues[0]}&f=${dval[0]}`); cy.waitForLoad(); cy.waitForLoad(); - //cy.get('[data-cy="settingsRouterLink"] > .text').click(); + cy.get('[data-cy="settingsRouterLink"] > .v-btn').click(); - cy.get('.mt-6 > :nth-child(2) > div > :nth-child(5) > .v-btn').click(); + cy.waitForLoad(); + cy.get('[data-test="canRemoveForm"]').click(); + cy.get('[data-test="continue-btn-continue"]').click(); }); diff --git a/tests/functional/cypress/e2e/form-design-basiclayout-advanced-layout.cy.js b/tests/functional/cypress/e2e/form-design-basiclayout-advanced-layout.cy.js index 91b889e2c..1f9b63ab5 100644 --- a/tests/functional/cypress/e2e/form-design-basiclayout-advanced-layout.cy.js +++ b/tests/functional/cypress/e2e/form-design-basiclayout-advanced-layout.cy.js @@ -257,6 +257,7 @@ it('Checks the Table', () => { //cy.get('.mdi-delete').click(); cy.get(':nth-child(5) > .v-btn > .v-btn__content > .mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); }) diff --git a/tests/functional/cypress/e2e/form-edit-submission-data.cy.js b/tests/functional/cypress/e2e/form-edit-submission-data.cy.js new file mode 100644 index 000000000..88f429f37 --- /dev/null +++ b/tests/functional/cypress/e2e/form-edit-submission-data.cy.js @@ -0,0 +1,210 @@ +import 'cypress-keycloak-commands'; +import 'cypress-drag-drop'; +import { formsettings } from '../support/login.js'; + +const depEnv = Cypress.env('depEnv'); + + +Cypress.Commands.add('waitForLoad', () => { + const loaderTimeout = 60000; + + cy.get('.nprogress-busy', { timeout: loaderTimeout }).should('not.exist'); +}); +describe('Form Designer', () => { + + beforeEach(()=>{ + + + cy.on('uncaught:exception', (err, runnable) => { + // Form.io throws an uncaught exception for missing projectid + // Cypress catches it as undefined: undefined so we can't get the text + console.log(err); + return false; + }); + }); + it('Visits the form settings page', () => { + + + cy.viewport(1000, 1100); + cy.waitForLoad(); + formsettings(); + + }); + it('Add some fields for submission', () => { + + cy.viewport(1000, 1800); + cy.waitForLoad(); + cy.get('button').contains('Basic Fields').click(); + let textFields = ["First Name", "Middle Name", "Last Name"]; + + for(let i=0; i { + const bounds = $el[0].getBoundingClientRect(); + cy.get('span.btn').contains('Text Field') + .trigger('mousedown', { which: 1}, { force: true }) + .trigger('mousemove', bounds.x, -100, { force: true }) + .trigger('mouseup', { force: true }); + cy.get('p').contains('Text Field Component'); + cy.get('input[name="data[label]"]').clear(); + cy.get('input[name="data[label]"]').clear(); + cy.get('input[name="data[label]"]').type(textFields[i]); + cy.get('button').contains('Save').click(); + }); + } + + + }); + it('Form Submission and Updation', () => { + cy.viewport(1000, 1100); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('div.formio-builder-form').then($el => { + const coords2 = $el[0].getBoundingClientRect(); + cy.get('span.btn').contains('Checkbox') + + .trigger('mousedown', { which: 1}, { force: true }) + .trigger('mousemove', coords2.x, -50, { force: true }) + .trigger('mouseup', { force: true }); + cy.get('p').contains('Checkbox Component'); + cy.get('input[name="data[label]"]').clear(); + cy.get('input[name="data[label]"]').clear(); + cy.get('input[name="data[label]"]').type('Applying for self'); + cy.get('button').contains('Save').click(); + }); + cy.intercept('GET', `/${depEnv}/api/v1/forms/*`).as('getForm'); + // Form saving + let savedButton = cy.get('[data-cy=saveButton]'); + expect(savedButton).to.not.be.null; + savedButton.trigger('click'); + cy.waitForLoad(); + + + + // Go to My forms + cy.wait('@getForm').then(()=>{ + let userFormsLinks = cy.get('[data-cy=userFormsLinks]'); + expect(userFormsLinks).to.not.be.null; + userFormsLinks.trigger('click'); + }); + // Filter the newly created form + cy.location('search').then(search => { + //let pathName = fullUrl.pathname + let arr = search.split('='); + let arrayValues = arr[1].split('&'); + cy.log(arrayValues[0]); + //cy.log(arrayValues[1]); + //cy.log(arrayValues[2]); + cy.visit(`/${depEnv}/form/manage?f=${arrayValues[0]}`); + cy.waitForLoad(); + + + //Publish the form + cy.get('.v-label > span').click(); + + cy.get('span').contains('Publish Version 1'); + + cy.contains('Continue').should('be.visible'); + cy.contains('Continue').trigger('click'); + //Submit the form + cy.visit(`/${depEnv}/form/submit?f=${arrayValues[0]}`); + cy.waitForLoad(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('button').contains('Submit').should('be.visible'); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('input[name="data[simpletextfield1]"').click(); + cy.get('input[name="data[simpletextfield1]"').type('Alex'); + cy.get('input[name="data[simpletextfield2]"').click(); + cy.get('input[name="data[simpletextfield2]"').type('Smith'); + //cy.get('.form-check-input').click(); + //form submission + cy.get('button').contains('Submit').click(); + cy.waitForLoad(); + cy.get('button').contains('Submit').click(); + cy.waitForLoad(); + cy.get('button').contains('Submit').click(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('label').contains('First Name').should('be.visible'); + cy.get('label').contains('Last Name').should('be.visible'); + cy.get('label').contains('Applying for self').should('be.visible'); + + + //Update submission + cy.visit(`/${depEnv}/form/manage?f=${arrayValues[0]}`); + cy.waitForLoad(); + cy.waitForLoad(); + cy.visit(`/${depEnv}/form/submit?f=${arrayValues[0]}`); + cy.waitForLoad(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('button').contains('Submit').should('be.visible'); + cy.get('input[name="data[simpletextfield1]"').click(); + cy.get('input[name="data[simpletextfield1]"').type('Alex'); + cy.get('input[name="data[simpletextfield2]"').click(); + cy.get('input[name="data[simpletextfield2]"').type('Smith'); + cy.get('button').contains('Submit').click(); + cy.waitForLoad(); + cy.get('button').contains('Submit').click(); + cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('label').contains('First Name').should('be.visible'); + cy.get('label').contains('Last Name').should('be.visible'); + cy.get('label').contains('Applying for self').should('be.visible') + //view submission + cy.visit(`/${depEnv}/form/manage?f=${arrayValues[0]}`); + cy.waitForLoad(); + cy.waitForLoad(); + + cy.get('.mdi-list-box-outline').click(); + cy.waitForLoad(); + cy.get(':nth-child(1) > :nth-child(6) > a > .v-btn > .v-btn__content > .mdi-eye').click(); + //Edit submission + cy.get('.mdi-pencil').click(); + //check visibility of cancel button + cy.get('.v-col-2 > .v-btn').should('be.visible'); + cy.get('button').contains('Submit').should('be.visible'); + + //Edit submission data + cy.get('input[name="data[simpletextfield1]"').click(); + cy.get('input[name="data[simpletextfield1]"').clear(); + cy.get('input[name="data[simpletextfield1]"').type('Nancy'); + cy.get('input[name="data[simpletextfield2]"').click(); + cy.get('input[name="data[simpletextfield2]"').type('Smith'); + cy.get('button').contains('Submit').click(); + cy.waitForLoad(); + cy.get('[data-test="continue-btn-continue"]').click(); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('label').contains('First Name').should('be.visible'); + cy.get('label').contains('Last Name').should('be.visible'); + //Adding notes to submission + cy.get('.mdi-plus').click(); + cy.get('div').find('textarea').then($el => { + + const rem=$el[0]; + rem.click(); + cy.get(rem).type('some notes'); + + + }); + cy.get('[data-test="canCancelNote"]').should('be.visible'); + cy.get('[data-test="btn-add-note"]').click(); + cy.get('.notes-text').contains('1'); + //Delete form after test run + cy.visit(`/${depEnv}/form/manage?f=${arrayValues[0]}`); + cy.waitForLoad(); + cy.waitForLoad(); + cy.get('.mdi-delete').click(); + cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); + + + }) + + + }); + +}); \ No newline at end of file diff --git a/tests/functional/cypress/e2e/form-manage-form.cy.js b/tests/functional/cypress/e2e/form-manage-form.cy.js index 03da3a0c2..297fe5a84 100644 --- a/tests/functional/cypress/e2e/form-manage-form.cy.js +++ b/tests/functional/cypress/e2e/form-manage-form.cy.js @@ -202,6 +202,7 @@ describe('Form Designer', () => { //Delete form after test run cy.get('.mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); diff --git a/tests/functional/cypress/e2e/form-simple-form-publish.cy.js b/tests/functional/cypress/e2e/form-simple-form-publish.cy.js index 0eb43f789..269bcf60e 100644 --- a/tests/functional/cypress/e2e/form-simple-form-publish.cy.js +++ b/tests/functional/cypress/e2e/form-simple-form-publish.cy.js @@ -105,6 +105,7 @@ describe('Form Designer', () => { //cy.get('.mdi-delete').click(); cy.get(':nth-child(5) > .v-btn > .v-btn__content > .mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); }); diff --git a/tests/functional/cypress/e2e/form-team-management.cy.js b/tests/functional/cypress/e2e/form-team-management.cy.js index 93e2be68c..8575e261b 100644 --- a/tests/functional/cypress/e2e/form-team-management.cy.js +++ b/tests/functional/cypress/e2e/form-team-management.cy.js @@ -176,6 +176,7 @@ describe('Form Designer', () => { //Delete form after test run cy.get('.mdi-delete').click(); cy.get('[data-test="continue-btn-continue"]').click(); + cy.get('#logoutButton > .v-btn__content > span').click(); }) });