summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/views/basic_model_tests.js
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2020-08-13 16:26:35 +0000
committerSébastien Theys <seb@odoo.com>2020-08-13 16:26:35 +0000
commitc2918c139b8f1026b57a257fbb74570d7a224c98 (patch)
tree6b1a5cbf5b048dd86048119cd66f5fa382595a7b /addons/web/static/tests/views/basic_model_tests.js
parent41527531b7b6f727e25a5a68aedb49609fbb1d3a (diff)
[IMP] web, *: improve mock server and replace most mail mockRPC
Improve mock server: - add support for mocked `fetch` - add support for `active_test` - add support for x2m `in` in domains - add support for default values computed from a function - implement a more natural "next id" compute - allow initial data without ids - ensure write and x2m commands integrity - improve bad data/bad commands error messages - always warn for failing RPC, not only in debug mode - fix all existing tests that had inconsistency data Other changes done in mail (or dependents) that are not just related to tests: - remove `direct_partner` from formatter result ->`correspondent` can be computed from other keys, especially `members` - fix `livechat_visitor` convertData -> only process if there is value - add `current_partner` and `current_user_id` as `init_messaging` result -> easier to mock than session - remove usage of `need_moderation` -> that was just a search indirection to `moderation_status` - adapt `partner_id` -> `res_partner_id` key in `_notification_format` -> to be consistent with field name - add name in result of `mail_partner_format` -> sometimes display_name is not the same - remove usage of `is_moderator` -> that was just an indirection to `moderation_channel_ids` Enterprise counterpart: https://github.com/odoo/enterprise/pull/11523 task-2287171 closes odoo/odoo#55854 X-original-commit: 7ba3fecb3377a720d1eb70e7515a0c45da73836d Related: odoo/enterprise#12391 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Diffstat (limited to 'addons/web/static/tests/views/basic_model_tests.js')
-rw-r--r--addons/web/static/tests/views/basic_model_tests.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/addons/web/static/tests/views/basic_model_tests.js b/addons/web/static/tests/views/basic_model_tests.js
index b533c6587e9..abd91ca17cf 100644
--- a/addons/web/static/tests/views/basic_model_tests.js
+++ b/addons/web/static/tests/views/basic_model_tests.js
@@ -36,6 +36,7 @@ odoo.define('web.basic_model_tests', function (require) {
},
product: {
fields: {
+ display_name: { string: "Product Display Name", type: "char" },
name: { string: "Product Name", type: "char" },
category: { string: "Category M2M", type: 'many2many', relation: 'partner_type' },
active: {string: "Active", type: 'boolean', default: true},
@@ -1403,14 +1404,17 @@ odoo.define('web.basic_model_tests', function (require) {
QUnit.test('default_get: fetch many2one with default (empty & not) inside x2manys', async function (assert) {
assert.expect(4);
+ this.data.partner.fields.category_m2o = {
+ type: 'many2one',
+ relation: 'partner_type',
+ };
this.data.partner.fields.o2m = {
string: "O2M", type: 'one2many', relation: 'partner', default: [
[6, 0, []],
- [0, 0, { category: false }],
- [0, 0, { category: 12 }],
+ [0, 0, { category_m2o: false, o2m: [] }],
+ [0, 0, { category_m2o: 12, o2m: [] }],
],
};
- this.data.partner.fields.category.type = 'many2one';
var model = await createModel({
Model: BasicModel,
@@ -1432,7 +1436,7 @@ odoo.define('web.basic_model_tests', function (require) {
relatedFields: this.data.partner.fields,
fieldsInfo: {
list: {
- category: {
+ category_m2o: {
relatedFields: { display_name: {} },
},
},
@@ -1449,9 +1453,9 @@ odoo.define('web.basic_model_tests', function (require) {
var resultID = await model.load(params);
var record = model.get(resultID);
assert.strictEqual(record.data.o2m.count, 2, "o2m field should contain 2 records");
- assert.strictEqual(record.data.o2m.data[0].data.category, false,
+ assert.strictEqual(record.data.o2m.data[0].data.category_m2o, false,
"first category field should be empty");
- assert.strictEqual(record.data.o2m.data[1].data.category.data.display_name, "gold",
+ assert.strictEqual(record.data.o2m.data[1].data.category_m2o.data.display_name, "gold",
"second category field should have been correctly fetched");
model.destroy();