mirror of
https://github.com/frappe/frappe.git
synced 2024-06-03 02:30:49 +00:00
134 lines
4.9 KiB
JavaScript
134 lines
4.9 KiB
JavaScript
import doctype_with_child_table from "../fixtures/doctype_with_child_table";
|
|
import child_table_doctype from "../fixtures/child_table_doctype";
|
|
import child_table_doctype_1 from "../fixtures/child_table_doctype_1";
|
|
const doctype_with_child_table_name = doctype_with_child_table.name;
|
|
|
|
context("Grid Search", () => {
|
|
before(() => {
|
|
cy.visit("/login");
|
|
cy.login();
|
|
cy.visit("/app/website");
|
|
cy.insert_doc("DocType", child_table_doctype, true);
|
|
cy.insert_doc("DocType", child_table_doctype_1, true);
|
|
cy.insert_doc("DocType", doctype_with_child_table, true);
|
|
return cy
|
|
.window()
|
|
.its("frappe")
|
|
.then((frappe) => {
|
|
return frappe.xcall(
|
|
"frappe.tests.ui_test_helpers.insert_doctype_with_child_table_record",
|
|
{
|
|
name: doctype_with_child_table_name,
|
|
}
|
|
);
|
|
});
|
|
});
|
|
|
|
it("Test search row visibility", () => {
|
|
cy.window()
|
|
.its("frappe")
|
|
.then((frappe) => {
|
|
frappe.model.user_settings.save("Doctype With Child Table", "GridView", {
|
|
"Child Table Doctype 1": [
|
|
{ fieldname: "data", columns: 2 },
|
|
{ fieldname: "barcode", columns: 1 },
|
|
{ fieldname: "check", columns: 1 },
|
|
{ fieldname: "rating", columns: 2 },
|
|
{ fieldname: "duration", columns: 2 },
|
|
{ fieldname: "date", columns: 2 },
|
|
],
|
|
});
|
|
});
|
|
|
|
cy.visit(`/app/doctype-with-child-table/Test Grid Search`);
|
|
|
|
cy.get('.frappe-control[data-fieldname="child_table_1"]').as("table");
|
|
cy.get("@table").find(".grid-row-check:last").click();
|
|
cy.get("@table").find(".grid-footer").contains("Delete").click();
|
|
cy.get(".grid-heading-row .grid-row .search").should("not.exist");
|
|
});
|
|
|
|
it("test search field for different fieldtypes", () => {
|
|
cy.visit(`/app/doctype-with-child-table/Test Grid Search`);
|
|
|
|
cy.get('.frappe-control[data-fieldname="child_table_1"]').as("table");
|
|
|
|
// Index Column
|
|
cy.get("@table").find(".grid-heading-row .row-index.search input").type("3");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 2);
|
|
cy.get("@table").find(".grid-heading-row .row-index.search input").clear();
|
|
|
|
// Data Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Data"]')
|
|
.type("Data");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 1);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Data"]').clear();
|
|
|
|
// Barcode Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Barcode"]')
|
|
.type("092");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 4);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Barcode"]').clear();
|
|
|
|
// Check Column
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').type("1");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 9);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').clear();
|
|
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').type("0");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 11);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').clear();
|
|
|
|
// Rating Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Rating"]')
|
|
.type("3");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 3);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Rating"]').clear();
|
|
|
|
// Duration Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Duration"]')
|
|
.type("3d");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 3);
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Duration"]')
|
|
.clear();
|
|
|
|
// Date Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Date"]')
|
|
.type("2022");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 4);
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Date"]').clear();
|
|
});
|
|
|
|
it("test with multiple filter", () => {
|
|
cy.get('.frappe-control[data-fieldname="child_table_1"]').as("table");
|
|
|
|
// Data Column
|
|
cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Data"]').type("a");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 10);
|
|
|
|
// Barcode Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Barcode"]')
|
|
.type("0");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 8);
|
|
|
|
// Duration Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Duration"]')
|
|
.type("d");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 5);
|
|
|
|
// Date Column
|
|
cy.get("@table")
|
|
.find('.grid-heading-row .search input[data-fieldtype="Date"]')
|
|
.type("02-");
|
|
cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 2);
|
|
});
|
|
});
|