summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/component_extension_tests.js
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2019-08-23 13:19:24 +0000
committerVincent Schippefilt <vsc@odoo.com>2019-12-09 11:09:10 +0000
commit29726e8fd000cb09075f9b6b2a6a8d2ddaf4ef58 (patch)
tree91718f6edc90cc069ee5ff3b44c4beb823d31104 /addons/web/static/tests/component_extension_tests.js
parent3b4592acfcd67f2b3e467c5e3f82d7b524b96843 (diff)
[ADD] web: add owl 1.0.0-beta1 to odoo
With this commit, we properly introduce the Owl library into our beloved codebase. More information on the Owl library can be found in the project repository: https://github.com/odoo/owl/ Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Diffstat (limited to 'addons/web/static/tests/component_extension_tests.js')
-rw-r--r--addons/web/static/tests/component_extension_tests.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/addons/web/static/tests/component_extension_tests.js b/addons/web/static/tests/component_extension_tests.js
new file mode 100644
index 00000000000..c9fd5906a9f
--- /dev/null
+++ b/addons/web/static/tests/component_extension_tests.js
@@ -0,0 +1,47 @@
+odoo.define('web.component_extension_tests', function (require) {
+ "use strict";
+
+ const makeTestEnvironment = require("web.test_env");
+ const testUtils = require("web.test_utils");
+
+ const { Component, tags } = owl;
+ const { xml } = tags;
+
+ QUnit.module("web", function () {
+ QUnit.module("Component Extension");
+
+ QUnit.test("Component destroyed while performing successful RPC", async function (assert) {
+ assert.expect(1);
+
+ class Parent extends Component {}
+ Parent.env = makeTestEnvironment({}, () => Promise.resolve());
+ Parent.template = xml`<div/>`;
+
+ const parent = new Parent();
+
+ parent.rpc({}).then(() => { throw new Error(); });
+ parent.destroy();
+
+ await testUtils.nextTick();
+
+ assert.ok(true, "Promise should still be pending");
+ });
+
+ QUnit.test("Component destroyed while performing failed RPC", async function (assert) {
+ assert.expect(1);
+
+ class Parent extends Component {}
+ Parent.env = makeTestEnvironment({}, () => Promise.reject());
+ Parent.template = xml`<div/>`;
+
+ const parent = new Parent();
+
+ parent.rpc({}).catch(() => { throw new Error(); });
+ parent.destroy();
+
+ await testUtils.nextTick();
+
+ assert.ok(true, "Promise should still be pending");
+ });
+ });
+});