diff --git a/frappe/core/doctype/test_runner/test_runner.js b/frappe/core/doctype/test_runner/test_runner.js index d5cac7f8a5a398350b5e90b5e2e4655cd3480d00..87ea09fab7529ba179b85196e998f93a4019c2fc 100644 --- a/frappe/core/doctype/test_runner/test_runner.js +++ b/frappe/core/doctype/test_runner/test_runner.js @@ -11,7 +11,8 @@ frappe.ui.form.on('Test Runner', { // all tests frappe.call({ - method: 'frappe.core.doctype.test_runner.test_runner.get_test_js' + method: 'frappe.core.doctype.test_runner.test_runner.get_test_js', + args: { test_path: frm.doc.module_path } }).always((data) => { $("<div id='qunit'></div>").appendTo(wrapper.empty()); frm.events.run_tests(frm, data.message); diff --git a/frappe/core/doctype/test_runner/test_runner.py b/frappe/core/doctype/test_runner/test_runner.py index c09d75ae4f5637be18fccce571c1191cd9a2a29f..2961e9f38b78c2647578b7ccc5a6670e3f960883 100644 --- a/frappe/core/doctype/test_runner/test_runner.py +++ b/frappe/core/doctype/test_runner/test_runner.py @@ -10,9 +10,10 @@ class TestRunner(Document): pass @frappe.whitelist() -def get_test_js(): +def get_test_js(test_path=None): '''Get test + data for app, example: app/tests/ui/test_name.js''' - test_path = frappe.db.get_single_value('Test Runner', 'module_path') + if not test_path: + test_path = frappe.db.get_single_value('Test Runner', 'module_path') test_js = [] # split diff --git a/frappe/public/js/frappe/list/list_renderer.js b/frappe/public/js/frappe/list/list_renderer.js index 02940e1beccf34b46f7ad4a6249bfd4a6cb60e46..65f52c910cab15b725f0747c116bc11914c8c502 100644 --- a/frappe/public/js/frappe/list/list_renderer.js +++ b/frappe/public/js/frappe/list/list_renderer.js @@ -271,7 +271,10 @@ frappe.views.ListRenderer = Class.extend({ setup_filterable: function () { var me = this; + + this.list_view.wrapper && this.list_view.wrapper.on('click', '.result-list .filterable', function (e) { + e.stopPropagation(); var filters = $(this).attr('data-filter').split('|'); var added = false; @@ -294,7 +297,9 @@ frappe.views.ListRenderer = Class.extend({ me.list_view.refresh(true); } }); - this.wrapper.on('click', '.list-item', function (e) { + + this.list_view.wrapper && + this.list_view.wrapper.on('click', '.list-item', function (e) { // don't open in case of checkbox, like, filterable if ($(e.target).hasClass('filterable') || $(e.target).hasClass('octicon-heart') diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index b338d23f3d93c424cd4d5a1c31f6c222fb6befe9..0d74e61b844705ef248b997b39b21229427f8506 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -87,6 +87,7 @@ frappe.ui.FilterList = Class.extend({ } var filter = this.push_new_filter(doctype, fieldname, condition, value); + if (!filter) return; if(this.wrapper.find('.clear-filters').hasClass("hide")) { this.wrapper.find('.clear-filters').removeClass("hide"); diff --git a/frappe/tests/ui/test_linked_with.js b/frappe/tests/ui/test_linked_with.js new file mode 100644 index 0000000000000000000000000000000000000000..aeaced2d19b55aaffeeffc40633a974da2946e74 --- /dev/null +++ b/frappe/tests/ui/test_linked_with.js @@ -0,0 +1,19 @@ +QUnit.module('form'); + +QUnit.test("Test Linked With", function(assert) { + assert.expect(2); + const done = assert.async(); + + frappe.run_serially([ + () => frappe.set_route('Form', 'Module Def', 'Contacts'), + () => frappe.tests.click_page_head_item('Menu'), + () => frappe.tests.click_dropdown_item('Links'), + () => frappe.timeout(4), + () => { + assert.equal(cur_dialog.title, 'Linked With', 'Linked with dialog is opened'); + const link_tables_count = cur_dialog.$wrapper.find('.list-item-table').length; + assert.equal(link_tables_count, 2, 'Two DocTypes are linked with Contacts'); + }, + done + ]); +}); \ No newline at end of file diff --git a/frappe/tests/ui/tests.txt b/frappe/tests/ui/tests.txt index de7d34fddb5df305104bcc68ad0828f9718c5104..b94f64aa63d5c6ee9dd9e106ce086e43b8db8aac 100644 --- a/frappe/tests/ui/tests.txt +++ b/frappe/tests/ui/tests.txt @@ -2,4 +2,5 @@ frappe/tests/ui/test_number_format.js frappe/tests/ui/test_list/test_list_filter.js frappe/tests/ui/test_list/test_list_paging.js frappe/tests/ui/test_module_view.js -frappe/tests/ui/test_calendar_view.js \ No newline at end of file +frappe/tests/ui/test_calendar_view.js +frappe/tests/ui/test_linked_with.js \ No newline at end of file