From b020b865ba16af925a450020dd7e3d90b9aae4b3 Mon Sep 17 00:00:00 2001 From: hrwx Date: Sun, 19 Dec 2021 00:58:17 +0000 Subject: [PATCH] feat: test cases for webform --- cypress/integration/web_form.js | 29 +++++++++++++++++++++++++++++ frappe/tests/ui_test_helpers.py | 7 +++++++ 2 files changed, 36 insertions(+) create mode 100644 cypress/integration/web_form.js diff --git a/cypress/integration/web_form.js b/cypress/integration/web_form.js new file mode 100644 index 0000000000..acdb4f6198 --- /dev/null +++ b/cypress/integration/web_form.js @@ -0,0 +1,29 @@ +context('Web Form', () => { + before(() => { + cy.login('Administrator', 'frappe') + }); + + it('Navigate and Submit a WebForm', () => { + cy.visit('/update-profile'); + cy.get_field('last_name', 'Data').type('_Test User', {force: true}).wait(200); + cy.get('.web-form-actions .btn-primary').click(); + cy.wait(500); + cy.get('.modal.show > .modal-dialog').should('be.visible'); + }); + + it('Timeline should have submit and cancel activity information', () => { + cy.call('frappe.tests.ui_test_helpers.update_webform_to_multistep').then(r => { + cy.visit('/update-profile'); + cy.get_field('last_name', 'Data').type('_Test User', {force: true}).wait(200); + cy.get('.btn-next').should('be.visible'); + cy.get('.web-form-footer .btn-primary').should('not.be.visible'); + cy.get('.btn-next').click(); + cy.get('.btn-previous').should('be.visible'); + cy.get('.btn-next').should('not.be.visible'); + cy.get('.web-form-footer .btn-primary').should('be.visible'); + cy.get('.web-form-actions .btn-primary').click(); + cy.wait(500); + cy.get('.modal.show > .modal-dialog').should('be.visible'); + }); + }); +}); diff --git a/frappe/tests/ui_test_helpers.py b/frappe/tests/ui_test_helpers.py index 3e9b3519bc..075bb9fcec 100644 --- a/frappe/tests/ui_test_helpers.py +++ b/frappe/tests/ui_test_helpers.py @@ -244,3 +244,10 @@ def create_topic_and_reply(web_page): }) reply.save() + + +@frappe.whitelist() +def update_webform_to_multistep(): + doc = frappe.get_doc("Web Form", "edit-profile") + doc.is_multi_step_form = 1 + doc.save()