Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

134 lignes
5.0 KiB

  1. import doctype_with_child_table from "../fixtures/doctype_with_child_table";
  2. import child_table_doctype from "../fixtures/child_table_doctype";
  3. import child_table_doctype_1 from "../fixtures/child_table_doctype_1";
  4. const doctype_with_child_table_name = doctype_with_child_table.name;
  5. context("Grid Search", () => {
  6. before(() => {
  7. cy.visit("/login");
  8. cy.login();
  9. cy.visit("/app/website");
  10. cy.insert_doc("DocType", child_table_doctype, true);
  11. cy.insert_doc("DocType", child_table_doctype_1, true);
  12. cy.insert_doc("DocType", doctype_with_child_table, true);
  13. return cy
  14. .window()
  15. .its("influxframework")
  16. .then((influxframework) => {
  17. return influxframework.xcall(
  18. "influxframework.tests.ui_test_helpers.insert_doctype_with_child_table_record",
  19. {
  20. name: doctype_with_child_table_name,
  21. }
  22. );
  23. });
  24. });
  25. it("Test search row visibility", () => {
  26. cy.window()
  27. .its("influxframework")
  28. .then((influxframework) => {
  29. influxframework.model.user_settings.save("Doctype With Child Table", "GridView", {
  30. "Child Table Doctype 1": [
  31. { fieldname: "data", columns: 2 },
  32. { fieldname: "barcode", columns: 1 },
  33. { fieldname: "check", columns: 1 },
  34. { fieldname: "rating", columns: 2 },
  35. { fieldname: "duration", columns: 2 },
  36. { fieldname: "date", columns: 2 },
  37. ],
  38. });
  39. });
  40. cy.visit(`/app/doctype-with-child-table/Test Grid Search`);
  41. cy.get('.influxframework-control[data-fieldname="child_table_1"]').as("table");
  42. cy.get("@table").find(".grid-row-check:last").click();
  43. cy.get("@table").find(".grid-footer").contains("Delete").click();
  44. cy.get(".grid-heading-row .grid-row .search").should("not.exist");
  45. });
  46. it("test search field for different fieldtypes", () => {
  47. cy.visit(`/app/doctype-with-child-table/Test Grid Search`);
  48. cy.get('.influxframework-control[data-fieldname="child_table_1"]').as("table");
  49. // Index Column
  50. cy.get("@table").find(".grid-heading-row .row-index.search input").type("3");
  51. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 2);
  52. cy.get("@table").find(".grid-heading-row .row-index.search input").clear();
  53. // Data Column
  54. cy.get("@table")
  55. .find('.grid-heading-row .search input[data-fieldtype="Data"]')
  56. .type("Data");
  57. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 1);
  58. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Data"]').clear();
  59. // Barcode Column
  60. cy.get("@table")
  61. .find('.grid-heading-row .search input[data-fieldtype="Barcode"]')
  62. .type("092");
  63. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 4);
  64. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Barcode"]').clear();
  65. // Check Column
  66. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').type("1");
  67. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 9);
  68. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').clear();
  69. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').type("0");
  70. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 11);
  71. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Check"]').clear();
  72. // Rating Column
  73. cy.get("@table")
  74. .find('.grid-heading-row .search input[data-fieldtype="Rating"]')
  75. .type("3");
  76. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 3);
  77. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Rating"]').clear();
  78. // Duration Column
  79. cy.get("@table")
  80. .find('.grid-heading-row .search input[data-fieldtype="Duration"]')
  81. .type("3d");
  82. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 3);
  83. cy.get("@table")
  84. .find('.grid-heading-row .search input[data-fieldtype="Duration"]')
  85. .clear();
  86. // Date Column
  87. cy.get("@table")
  88. .find('.grid-heading-row .search input[data-fieldtype="Date"]')
  89. .type("2022");
  90. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 4);
  91. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Date"]').clear();
  92. });
  93. it("test with multiple filter", () => {
  94. cy.get('.influxframework-control[data-fieldname="child_table_1"]').as("table");
  95. // Data Column
  96. cy.get("@table").find('.grid-heading-row .search input[data-fieldtype="Data"]').type("a");
  97. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 10);
  98. // Barcode Column
  99. cy.get("@table")
  100. .find('.grid-heading-row .search input[data-fieldtype="Barcode"]')
  101. .type("0");
  102. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 8);
  103. // Duration Column
  104. cy.get("@table")
  105. .find('.grid-heading-row .search input[data-fieldtype="Duration"]')
  106. .type("d");
  107. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 5);
  108. // Date Column
  109. cy.get("@table")
  110. .find('.grid-heading-row .search input[data-fieldtype="Date"]')
  111. .type("02-");
  112. cy.get("@table").find(".grid-body .rows .grid-row").should("have.length", 2);
  113. });
  114. });