diff --git a/cypress/integration/relative_filters.js b/cypress/integration/relative_filters.js index efc6b930b2..d79e848994 100644 --- a/cypress/integration/relative_filters.js +++ b/cypress/integration/relative_filters.js @@ -21,7 +21,7 @@ context('Relative Timeframe', () => { cy.server(); cy.route({ method: 'POST', - url: '/' + url: '/api/method/frappe.desk.reportview.get' }).as('applyFilter'); cy.get('.filter-box .btn:contains("Apply")').click(); cy.wait('@applyFilter'); @@ -39,7 +39,7 @@ context('Relative Timeframe', () => { cy.server(); cy.route({ method: 'POST', - url: '/' + url: '/api/method/frappe.desk.reportview.get' }).as('applyFilter'); cy.get('.filter-box .btn:contains("Apply")').click(); cy.wait('@applyFilter'); diff --git a/cypress/integration/table_multiselect.js b/cypress/integration/table_multiselect.js index 67b522c364..a083e514ba 100644 --- a/cypress/integration/table_multiselect.js +++ b/cypress/integration/table_multiselect.js @@ -3,9 +3,11 @@ context('Table MultiSelect', () => { cy.login('Administrator', 'qwe'); }); + let todo_description = 'table multiselect' + Math.random().toString().slice(2, 8); + it('select value from multiselect dropdown', () => { cy.visit('/desk#Form/ToDo/New ToDo 1'); - cy.fill_field('description', 'asdf', 'Text Editor').blur(); + cy.fill_field('description', todo_description, 'Text Editor').blur(); cy.get('input[data-fieldname="assign_to"]').focus().as('input'); cy.get('input[data-fieldname="assign_to"] + ul').should('be.visible'); cy.get('@input').type('faris{enter}', { delay: 100 }); @@ -14,7 +16,7 @@ context('Table MultiSelect', () => { cy.get('@selected-value').should('contain', 'faris@erpnext.com'); cy.server(); - cy.route('POST', '/').as('save_form'); + cy.route('POST', '/api/method/frappe.desk.form.save.savedocs').as('save_form'); // trigger save cy.get('.primary-action').click(); cy.wait('@save_form').its('status').should('eq', 200); @@ -23,8 +25,7 @@ context('Table MultiSelect', () => { it('delete value using backspace', () => { cy.visit('/desk#List/ToDo/List'); - cy.get('.list-row a').should('exist'); - cy.get('.list-subject').last().find('a').click(); + cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click(); cy.get('input[data-fieldname="assign_to"]').focus().type('{backspace}'); cy.get('.frappe-control[data-fieldname="assign_to"] .form-control .tb-selected-value') .should('not.exist'); @@ -32,8 +33,7 @@ context('Table MultiSelect', () => { it('delete value using x', () => { cy.visit('/desk#List/ToDo/List'); - cy.get('.list-row a').should('exist'); - cy.get('.list-subject').last().find('a').click(); + cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click(); cy.get('.frappe-control[data-fieldname="assign_to"] .form-control .tb-selected-value').as('existing_value'); cy.get('@existing_value').find('.btn-remove').click(); cy.get('@existing_value').should('not.exist'); @@ -41,8 +41,7 @@ context('Table MultiSelect', () => { it('navigate to selected value', () => { cy.visit('/desk#List/ToDo/List'); - cy.get('.list-row a').should('exist'); - cy.get('.list-subject').last().find('a').click(); + cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click(); cy.get('.frappe-control[data-fieldname="assign_to"] .form-control .tb-selected-value').as('existing_value'); cy.get('@existing_value').find('.btn-link-to-form').click(); cy.location('hash').should('contain', 'Form/User/faris@erpnext.com'); diff --git a/frappe/tests/test_utils.py b/frappe/tests/test_utils.py index db66dc22a8..c5b74671c8 100644 --- a/frappe/tests/test_utils.py +++ b/frappe/tests/test_utils.py @@ -126,6 +126,9 @@ class TestHTMLUtils(unittest.TestCase): @frappe.whitelist() def create_todo_records(): + if frappe.db.get_all('ToDo', {'description': 'this is first todo'}): + return + frappe.get_doc({ "doctype": "ToDo", "date": add_to_date(now(), days=3),