|
- context("Dynamic Link", () => {
- before(() => {
- cy.login();
- cy.visit("/app/doctype");
- return cy
- .window()
- .its("xhiveframework")
- .then((xhiveframework) => {
- return xhiveframework.xcall("xhiveframework.tests.ui_test_helpers.create_doctype", {
- name: "Test Dynamic Link",
- fields: [
- {
- label: "Document Type",
- fieldname: "doc_type",
- fieldtype: "Link",
- options: "DocType",
- in_list_view: 1,
- in_standard_filter: 1,
- },
- {
- label: "Document ID",
- fieldname: "doc_id",
- fieldtype: "Dynamic Link",
- options: "doc_type",
- in_list_view: 1,
- in_standard_filter: 1,
- },
- ],
- });
- });
- });
-
- function get_dialog_with_dynamic_link() {
- return cy.dialog({
- title: "Dynamic Link",
- fields: [
- {
- label: "Document Type",
- fieldname: "doc_type",
- fieldtype: "Link",
- options: "DocType",
- in_list_view: 1,
- },
- {
- label: "Document ID",
- fieldname: "doc_id",
- fieldtype: "Dynamic Link",
- options: "doc_type",
- in_list_view: 1,
- },
- ],
- });
- }
-
- function get_dialog_with_dynamic_link_option() {
- return cy.dialog({
- title: "Dynamic Link",
- fields: [
- {
- label: "Document Type",
- fieldname: "doc_type",
- fieldtype: "Link",
- options: "DocType",
- in_list_view: 1,
- },
- {
- label: "Document ID",
- fieldname: "doc_id",
- fieldtype: "Dynamic Link",
- get_options: () => {
- return "User";
- },
- in_list_view: 1,
- },
- ],
- });
- }
-
- it("Creating a dynamic link by passing option as function and verifying it in a dialog", () => {
- get_dialog_with_dynamic_link_option().as("dialog");
- cy.get_field("doc_type").clear();
- cy.fill_field("doc_type", "User", "Link");
- cy.get_field("doc_id").click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]')
- .find(".awesomplete")
- .find("li")
- .its("length")
- .should("be.gte", 0);
- cy.get(".btn-modal-close").click({ force: true });
- });
-
- it("Creating a dynamic link and verifying it in a dialog", () => {
- get_dialog_with_dynamic_link().as("dialog");
- cy.get_field("doc_type").clear();
- cy.fill_field("doc_type", "User", "Link");
- cy.get_field("doc_id").click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]')
- .find(".awesomplete")
- .find("li")
- .its("length")
- .should("be.gte", 0);
- cy.get(".btn-modal-close").click({ force: true, multiple: true });
- });
-
- it("Creating a dynamic link and verifying it", () => {
- cy.visit("/app/test-dynamic-link");
-
- //Clicking on the Document ID field
- cy.get_field("doc_type").clear();
-
- //Entering User in the Doctype field
- cy.fill_field("doc_type", "User", "Link", { delay: 500 });
- cy.get_field("doc_id").click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]')
- .find(".awesomplete")
- .find("li")
- .its("length")
- .should("be.gte", 0);
-
- //Opening a new form for dynamic link doctype
- cy.new_form("Test Dynamic Link");
- cy.get_field("doc_type").clear();
-
- //Entering User in the Doctype field
- cy.fill_field("doc_type", "User", "Link", { delay: 500 });
- cy.get_field("doc_id").click();
-
- //Checking if the listbox have length greater than 0
- cy.get('[data-fieldname="doc_id"]')
- .find(".awesomplete")
- .find("li")
- .its("length")
- .should("be.gte", 0);
- cy.get_field("doc_type").clear();
-
- //Entering System Settings in the Doctype field
- cy.intercept("/api/method/xhiveframework.desk.search.search_link").as("search_query");
- cy.fill_field("doc_type", "System Settings", "Link", { delay: 500 });
- cy.wait("@search_query");
- cy.get(`[data-fieldname="doc_type"] ul:visible li:first-child`).click({
- scrollBehavior: false,
- });
-
- cy.get_field("doc_id").click();
-
- //Checking if the system throws error
- cy.get(".modal-title").should("have.text", "Error");
- cy.get(".msgprint").should(
- "have.text",
- "System Settings is not a valid DocType for Dynamic Link"
- );
- });
- });
|