|
- context.skip("Form Tour", () => {
- before(() => {
- cy.login();
- cy.visit("/app");
- return cy
- .window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- return xhiveframework.call("xhiveframework.tests.ui_test_helpers.create_form_tour");
- });
- });
-
- const open_test_form_tour = () => {
- cy.visit("/app/form-tour/Test Form Tour");
- cy.findByRole("button", { name: "Show Tour" }).should("be.visible").as("show_tour");
- cy.get("@show_tour").click();
- cy.wait(500);
- cy.url().should("include", "/app/contact");
- };
-
- it("jump to a form tour", open_test_form_tour);
-
- it("navigates a form tour", () => {
- open_test_form_tour();
-
- cy.get(".xhiveframework-driver").should("be.visible");
- cy.get('.xhiveframework-control[data-fieldname="first_name"]').as("first_name");
- cy.get("@first_name").should("have.class", "driver-highlighted-element");
- cy.get(".xhiveframework-driver").findByRole("button", { name: "Next" }).as("next_btn");
-
- // next btn shouldn't move to next step, if first name is not entered
- cy.get("@next_btn").click();
- cy.wait(500);
- cy.get("@first_name").should("have.class", "driver-highlighted-element");
-
- // after filling the field, next step should be highlighted
- cy.fill_field("first_name", "Test Name", "Data");
- cy.wait(500);
- cy.get("@next_btn").click();
- cy.wait(500);
-
- // assert field is highlighted
- cy.get('.xhiveframework-control[data-fieldname="last_name"]').as("last_name");
- cy.get("@last_name").should("have.class", "driver-highlighted-element");
-
- // after filling the field, next step should be highlighted
- cy.fill_field("last_name", "Test Last Name", "Data");
- cy.wait(500);
- cy.get("@next_btn").click();
- cy.wait(500);
-
- // assert field is highlighted
- cy.get('.xhiveframework-control[data-fieldname="phone_nos"]').as("phone_nos");
- cy.get("@phone_nos").should("have.class", "driver-highlighted-element");
-
- // move to next step
- cy.wait(500);
- cy.get("@next_btn").click();
- cy.wait(500);
-
- // assert add row btn is highlighted
- cy.get("@phone_nos").find(".grid-add-row").as("add_row");
- cy.get("@add_row").should("have.class", "driver-highlighted-element");
-
- // add a row & move to next step
- cy.wait(500);
- cy.get("@add_row").click();
- cy.wait(500);
-
- // assert table field is highlighted
- cy.get('.grid-row-open .xhiveframework-control[data-fieldname="phone"]').as("phone");
- cy.get("@phone").should("have.class", "driver-highlighted-element");
- // enter value in a table field
- let field = cy.fill_table_field("phone_nos", "1", "phone", "1234567890");
- field.blur();
-
- // move to collapse row step
- cy.wait(500);
- cy.get(".driver-popover-title")
- .contains("Test Title 4")
- .siblings()
- .get("@next_btn")
- .click();
- cy.wait(500);
- // collapse row
- cy.get(".grid-row-open .grid-collapse-row").click();
- cy.wait(500);
-
- // assert save btn is highlighted
- cy.get(".primary-action").should("have.class", "driver-highlighted-element");
- cy.wait(500);
- cy.get(".xhiveframework-driver").findByRole("button", { name: "Save" }).should("be.visible");
- });
- });
|