From ba438fe4a6ee3e1232ba214e285a544bf5a71b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Riandrys=20G=C3=B3ngora=20Rom=C3=A1n?= Date: Mon, 23 Jan 2023 11:08:43 -0500 Subject: [PATCH] test: update docfield property using set_df_property in child table add UI test with cypress on form.js update docfield property using set_df_property in child table --- cypress/integration/form.js | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/cypress/integration/form.js b/cypress/integration/form.js index fa0d758223..8186647a14 100644 --- a/cypress/integration/form.js +++ b/cypress/integration/form.js @@ -26,6 +26,11 @@ context("Form", () => { }); }); + beforeEach(() => { + cy.login(); + cy.visit("/app/website"); + }); + it("create a new form", () => { cy.visit("/app/todo/new"); cy.get_field("description", "Text Editor") @@ -172,4 +177,57 @@ context("Form", () => { send_welcome_email: 0, }); }); + + it("update docfield property using set_df_property in child table", () => { + cy.visit("/app/contact/Test Form Contact 1"); + cy.window() + .its("cur_frm") + .then((frm) => { + cy.get('.frappe-control[data-fieldname="phone_nos"]').as("table"); + + // set property before form_render event of child table + cy.get("@table") + .find('[data-idx="1"]') + .invoke("attr", "data-name") + .then((cdn) => { + frm.set_df_property( + "phone_nos", + "hidden", + 1, + "Contact Phone", + "is_primary_phone", + cdn + ); + }); + + cy.get("@table").find('[data-idx="1"] .edit-grid-row').click(); + cy.get(".grid-row-open").as("table-form"); + cy.get("@table-form") + .find('.frappe-control[data-fieldname="is_primary_phone"]') + .should("be.hidden"); + cy.get("@table-form").find(".grid-footer-toolbar").click(); + + // set property on form_render event of child table + cy.get("@table").find('[data-idx="1"] .edit-grid-row').click(); + cy.get("@table") + .find('[data-idx="1"]') + .invoke("attr", "data-name") + .then((cdn) => { + frm.set_df_property( + "phone_nos", + "hidden", + 0, + "Contact Phone", + "is_primary_phone", + cdn + ); + }); + + cy.get(".grid-row-open").as("table-form"); + cy.get("@table-form") + .find('.frappe-control[data-fieldname="is_primary_phone"]') + .should("be.visible"); + cy.get("@table-form").find(".grid-footer-toolbar").click(); + }); + }); });