|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- const jump_to_field = (field_label) => {
- cy.get("body")
- .type("{esc}") // lose focus if any
- .type("{ctrl+j}") // jump to field
- .type(field_label)
- .wait(500)
- .type("{enter}")
- .wait(200)
- .type("{enter}")
- .wait(500);
- };
-
- const type_value = (value) => {
- cy.focused().clear().type(value).type("{esc}");
- };
-
- context("Form", () => {
- before(() => {
- cy.login();
- cy.visit("/app/website");
- return cy
- .window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- return xhiveframework.call("xhiveframework.tests.ui_test_helpers.create_contact_records");
- });
- });
-
- beforeEach(() => {
- cy.login();
- cy.visit("/app/website");
- });
-
- it("create a new form", () => {
- cy.visit("/app/todo/new");
- cy.get_field("description", "Text Editor")
- .type("this is a test todo", { force: true })
- .wait(1000);
- cy.get(".page-title").should("contain", "Not Saved");
- cy.intercept({
- method: "POST",
- url: "api/method/xhiveframework.desk.form.save.savedocs",
- }).as("form_save");
- cy.get(".primary-action").click();
- cy.wait("@form_save").its("response.statusCode").should("eq", 200);
-
- cy.go_to_list("ToDo");
- cy.clear_filters();
- cy.get(".page-head").findByTitle("To Do").should("exist");
- cy.get(".list-row").should("contain", "this is a test todo");
- });
-
- it("navigates between documents with child table list filters applied", () => {
- cy.visit("/app/contact");
-
- cy.clear_filters();
- cy.get('.standard-filter-section [data-fieldname="name"] input')
- .type("Test Form Contact 3")
- .blur();
- cy.click_listview_row_item_with_text("Test Form Contact 3");
-
- cy.scrollTo(0);
- cy.get("#page-Contact .page-head").findByTitle("Test Form Contact 3").should("exist");
- cy.get(".prev-doc").should("be.visible").click();
- cy.get(".msgprint-dialog .modal-body").contains("No further records").should("be.visible");
- cy.hide_dialog();
-
- cy.scrollTo(0);
- cy.get("#page-Contact .page-head").findByTitle("Test Form Contact 3").should("exist");
- cy.get(".next-doc").should("be.visible").click();
- cy.get(".msgprint-dialog .modal-body").contains("No further records").should("be.visible");
- cy.hide_dialog();
-
- cy.get("#page-Contact .page-head").findByTitle("Test Form Contact 3").should("exist");
-
- // clear filters
- cy.visit("/app/contact");
- cy.clear_filters();
- });
-
- it("validates behaviour of Data options validations in child table", () => {
- // test email validations for set_invalid controller
- let website_input = "website.in";
- let valid_email = "user@email.com";
- let expectBackgroundColor = "rgb(255, 245, 245)";
-
- cy.visit("/app/contact/new");
- cy.get('.xhiveframework-control[data-fieldname="email_ids"]').as("table");
- cy.get("@table").find("button.grid-add-row").click();
- cy.get("@table").find("button.grid-add-row").click();
- cy.get("@table").find('[data-idx="1"]').as("row1");
- cy.get("@table").find('[data-idx="2"]').as("row2");
- cy.get("@row1").click();
- cy.get("@row1").find("input.input-with-feedback.form-control").as("email_input1");
-
- cy.get("@email_input1").type(website_input, { waitForAnimations: false });
- cy.fill_field("company_name", "Test Company");
-
- cy.get("@row2").click();
- cy.get("@row2").find("input.input-with-feedback.form-control").as("email_input2");
- cy.get("@email_input2").type(valid_email, { waitForAnimations: false });
-
- cy.get("@row1").click();
- cy.get("@email_input1").should("have.class", "invalid");
-
- cy.get("@row2").click();
- cy.get("@email_input2").should("not.have.class", "invalid");
- });
-
- it("Jump to field in collapsed section", { scrollBehavior: false }, () => {
- cy.new_form("User");
-
- jump_to_field("Location"); // this is in collapsed section
- type_value("Bermuda");
-
- cy.get_field("location").should("have.value", "Bermuda");
- });
-
- 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('.xhiveframework-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"] .btn-open-row').click();
- cy.get(".grid-row-open").as("table-form");
- cy.get("@table-form")
- .find('.xhiveframework-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"] .btn-open-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('.xhiveframework-control[data-fieldname="is_primary_phone"]')
- .should("be.visible");
- cy.get("@table-form").find(".grid-footer-toolbar").click();
- });
- });
- });
|