diff --git a/addons/account/static/src/js/reconciliation/reconciliation_model.js b/addons/account/static/src/js/reconciliation/reconciliation_model.js index 2854ac4760b..8adb4ec1c91 100644 --- a/addons/account/static/src/js/reconciliation/reconciliation_model.js +++ b/addons/account/static/src/js/reconciliation/reconciliation_model.js @@ -438,7 +438,7 @@ var StatementModel = BasicModel.extend({ domainReconcile.push(['company_id', 'in', self.context.company_ids]); } if (self.context && self.context.active_model === 'account.journal' && self.context.active_ids) { - domainReconcile.push(['journal_id', 'in', [false].concat(self.context.active_ids)]); + domainReconcile.push(['match_journal_ids', 'in', [false].concat(self.context.active_ids)]); } var def_reconcileModel = this._loadReconciliationModel({domainReconcile: domainReconcile}); var def_account = this._rpc({ diff --git a/addons/account/static/tests/reconciliation_tests.js b/addons/account/static/tests/reconciliation_tests.js index 853e7205f87..a1e2e215126 100644 --- a/addons/account/static/tests/reconciliation_tests.js +++ b/addons/account/static/tests/reconciliation_tests.js @@ -589,6 +589,7 @@ var demoData = require('account.reconciliation_tests.data'); var testUtils = require('web.test_utils'); var testUtilsDom = require('web.test_utils_dom'); +var testUtilsMock = require('web.test_utils_mock'); QUnit.module('account', { beforeEach: function () { @@ -1329,6 +1330,36 @@ QUnit.module('account', { clientAction.destroy(); }); + QUnit.test('Reconciliation fetch correct reconciliation models', async function (assert) { + assert.expect(1); + + testUtilsMock.patch(this.params.options.context, { + active_model: 'account.journal', // On account dashboard, click "Reconcile" on a journal + active_ids: [1,2], // Active journals + company_ids: [3,4], // Active companies + }); + + var clientAction = new ReconciliationClientAction.StatementAction(null, this.params.options); + + testUtils.addMockEnvironment(clientAction, { + data: this.params.data, + mockRPC: async function (route, args) { + if (args.model === 'account.reconcile.model' && args.method === 'search_read') { + assert.deepEqual( + args.kwargs.domain, + [['company_id', 'in', [3,4]], ['match_journal_ids', 'in', [false, 1, 2]]], + 'The domain to get reconcile models should contain the right fields and values' + ); + } + return this._super.apply(this, arguments); + } + }); + clientAction.appendTo($('#qunit-fixture')); + testUtilsMock.unpatch(this.params.options.context); + + clientAction.destroy(); + }); + QUnit.test('Reconciliation manual', async function (assert) { assert.expect(13);