diff options
| author | Lucas Lefèvre <lul@odoo.com> | 2020-11-25 15:49:53 +0000 |
|---|---|---|
| committer | Lucas Lefèvre <lul@odoo.com> | 2020-11-25 15:55:16 +0000 |
| commit | c8f59bfd5c8ddb7c7abf1108111507e667393208 (patch) | |
| tree | 780abd89506e1a94d69fb91365e61724ce2d6bf1 /addons/web/static/tests/mockserver_tests.js | |
| parent | fe3dbfb77eb403bb6eb69cd9d667fd8baa714ff7 (diff) | |
[FIX] web: mock all name_get behaviors
The mock implementation of `name_get` does not fully reflect
the real server implementation.
The real implementation is described in tests added in
this commit.
Note: in my wildest dreams, the mock server tests would be run
against the real *and* the mock implementation to ensure they
do not diverge.
closes odoo/odoo#62347
Related: odoo/enterprise#14990
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Diffstat (limited to 'addons/web/static/tests/mockserver_tests.js')
| -rw-r--r-- | addons/web/static/tests/mockserver_tests.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/addons/web/static/tests/mockserver_tests.js b/addons/web/static/tests/mockserver_tests.js index 3144bfa4a56..a913bee3250 100644 --- a/addons/web/static/tests/mockserver_tests.js +++ b/addons/web/static/tests/mockserver_tests.js @@ -51,5 +51,85 @@ QUnit.module("MockServer", { assert.strictEqual(_.difference(expectedFields, Object.keys(result[0])).length, 0, "should contains all the fields"); }); + + QUnit.test("performRpc: name_get with no args", async function (assert) { + assert.expect(2); + const server = new MockServer(this.data, {}); + try { + await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [], + kwargs: {}, + }); + } catch (error) { + assert.step("name_get failed") + } + assert.verifySteps(["name_get failed"]) + }); + + QUnit.test("performRpc: name_get with undefined arg", async function (assert) { + assert.expect(1); + const server = new MockServer(this.data, {}); + const result = await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [undefined], + kwargs: {}, + }); + assert.deepEqual(result, []) + }); + + QUnit.test("performRpc: name_get with a single id", async function (assert) { + assert.expect(1); + const server = new MockServer(this.data, {}); + const result = await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [1], + kwargs: {}, + }); + assert.deepEqual(result, [[1, "Jean-Michel"]]); + }); + + QUnit.test("performRpc: name_get with array of ids", async function (assert) { + assert.expect(1); + const server = new MockServer(this.data, {}); + const result = await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [[1]], + kwargs: {}, + }); + assert.deepEqual(result, [[1, "Jean-Michel"]]); + }); + + QUnit.test("performRpc: name_get with invalid id", async function (assert) { + assert.expect(2); + const server = new MockServer(this.data, {}); + try { + await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [11111], + kwargs: {}, + }); + } catch (error) { + assert.step("name_get failed") + } + assert.verifySteps(["name_get failed"]) + }); + + QUnit.test("performRpc: name_get with id and undefined id", async function (assert) { + assert.expect(1); + const server = new MockServer(this.data, {}); + const result = await server.performRpc("", { + model: "res.partner", + method: "name_get", + args: [[undefined, 1]], + kwargs: {}, + }); + assert.deepEqual(result, [[null, "False"], [1, "Jean-Michel"]]); + }); }); }); |
