summaryrefslogtreecommitdiff
path: root/addons/iap/static/tests
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/iap/static/tests
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/iap/static/tests')
-rw-r--r--addons/iap/static/tests/helpers/mock_server.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/addons/iap/static/tests/helpers/mock_server.js b/addons/iap/static/tests/helpers/mock_server.js
new file mode 100644
index 00000000..7d59e269
--- /dev/null
+++ b/addons/iap/static/tests/helpers/mock_server.js
@@ -0,0 +1,47 @@
+odoo.define('iap/static/tests/helpers/mock_server.js', function (require) {
+"use strict";
+
+const MockServer = require('web.MockServer');
+
+MockServer.include({
+ //--------------------------------------------------------------------------
+ // Private
+ //--------------------------------------------------------------------------
+
+ /**
+ * @override
+ */
+ async _performRpc(route, args) {
+ if (args.model === 'iap.account' && args.method === 'get_credits_url') {
+ const service_name = args.args[0] || args.kwargs.service_name;
+ const base_url = args.args[1] || args.kwargs.base_url;
+ const credit = args.args[2] !== undefined ? args.args[2] : args.kwargs.credit;
+ const trial = args.args[3] !== undefined ? args.args[3] : args.kwargs.trial;
+ return this._mockIapAccountGetCreditsUrl(service_name, base_url, credit, trial);
+ }
+ return this._super(...arguments);
+ },
+
+ //--------------------------------------------------------------------------
+ // Private Mocked Routes
+ //--------------------------------------------------------------------------
+
+ /**
+ * Simulates `get_credits_url` on `iap.account`.
+ *
+ * @private
+ * @param {string} service_name
+ * @param {string} [base_url='']
+ * @param {number} [credit=0]
+ * @param {boolean} [trial=false]
+ * @returns {string}
+ */
+ _mockIapAccountGetCreditsUrl(service_name, base_url = '', credit = 0, trial = false) {
+ // This mock could be improved, in particular by returning an URL that
+ // is actually mocked here and including all params, but it is not done
+ // due to URL not being used in any test at the time of this comment.
+ return base_url + '/random/url?service_name=' + service_name;
+ },
+});
+
+});