|
- 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);
- });
- });
|