diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-04-24 16:35:06 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-04-24 16:35:06 +0200 |
| commit | ec5e27bb7cc7808d7128eae4e7e67910f40492c0 (patch) | |
| tree | dd750032f3dd0f1d4e443b44f5b0fcf0d8a5ba11 /odoo/addons/base/static/tests/base_settings_tests.js | |
| parent | 3b3f6cc0694b95cfbb0300cbff9aa6d9a3a6fe7e (diff) | |
| parent | 7fd9dbdd9f8f30424cfb977b83a3c463889bb710 (diff) | |
[MERGE] forward port branch saas-11.2 up to 7fd9dbdd9f8
Diffstat (limited to 'odoo/addons/base/static/tests/base_settings_tests.js')
| -rw-r--r-- | odoo/addons/base/static/tests/base_settings_tests.js | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/odoo/addons/base/static/tests/base_settings_tests.js b/odoo/addons/base/static/tests/base_settings_tests.js index ae46cacfbc4..e4e5dc0527d 100644 --- a/odoo/addons/base/static/tests/base_settings_tests.js +++ b/odoo/addons/base/static/tests/base_settings_tests.js @@ -6,6 +6,8 @@ var view_registry = require('web.view_registry'); var createView = testUtils.createView; var BaseSettingsView = view_registry.get('base_settings'); +var createActionManager = testUtils.createActionManager; + QUnit.module('base_settings_tests', { beforeEach: function () { @@ -83,5 +85,59 @@ QUnit.module('base_settings_tests', { assert.strictEqual(form.$('.notFound').hasClass('o_hidden'),false,"record not found message shown"); form.destroy(); }); + + QUnit.test('settings views does not read existing id when coming back in breadcrumbs', function (assert) { + assert.expect(7); + + var actions = [{ + id: 1, + name: 'Settings view', + res_model: 'project', + type: 'ir.actions.act_window', + views: [[1, 'form']], + }, { + id: 4, + name: 'Other action', + res_model: 'project', + type: 'ir.actions.act_window', + views: [[2, 'list']], + }]; + var archs = { + 'project,1,form': '<form string="Settings" js_class="base_settings">' + + '<div class="app_settings_block" string="CRM" data-key="crm">' + + '<button name="4" string="Execute action" type="action"/>' + + '</div>' + + '</form>', + 'project,2,list': '<tree><field name="foo"/></tree>', + 'project,false,search': '<search></search>', + }; + + var actionManager = createActionManager({ + actions: actions, + archs: archs, + data: this.data, + mockRPC: function (route, args) { + if (args.method) { + assert.step(args.method); + } + return this._super.apply(this, arguments); + }, + }); + + actionManager.doAction(1); + actionManager.$('button[name="4"]').click(); + $('.o_control_panel .breadcrumb li a').click(); + assert.verifySteps([ + 'load_views', // initial setting action + 'default_get', // this is a setting view => create new record + 'create', // when we click on action button => save + 'read', // with save, we have a reload... (not necessary actually) + 'load_views', // for other action in breadcrumb, + // with a searchread (not shown here since it is a route) + 'default_get', // when we come back, we want to restart from scratch + ]); + + actionManager.destroy(); + }); +}); }); -});
\ No newline at end of file |
