summaryrefslogtreecommitdiff
path: root/addons/base_iban/static/src/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/base_iban/static/src/tests
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/base_iban/static/src/tests')
-rw-r--r--addons/base_iban/static/src/tests/iban_widget_test.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/addons/base_iban/static/src/tests/iban_widget_test.js b/addons/base_iban/static/src/tests/iban_widget_test.js
new file mode 100644
index 00000000..3fe954d7
--- /dev/null
+++ b/addons/base_iban/static/src/tests/iban_widget_test.js
@@ -0,0 +1,65 @@
+odoo.define('base_iban.iban_widget_tests', function (require) {
+"use strict";
+
+var FormView = require('web.FormView');
+var testUtils = require('web.test_utils');
+
+var createView = testUtils.createView;
+
+QUnit.module('fields', {
+ beforeEach: function () {
+ this.data = {
+ partner: {
+ fields: {
+ acc_number: {string: "acc_number", type: "char"},
+ },
+ records: [{
+ id: 1,
+ acc_number: "",
+ }]
+ },
+ };
+ // patch _.debounce to be fast and synchronous
+ this.underscoreDebounce = _.debounce;
+ _.debounce = _.identity;
+ },
+ afterEach: function () {
+ // unpatch _.debounce
+ _.debounce = this.underscoreDebounce;
+ }
+}, function () {
+
+ QUnit.module('IbanWidget');
+
+ QUnit.test('Iban widgets are correctly rendered', async function (assert) {
+ assert.expect(6);
+ var form = await createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form><sheet><field name="acc_number" widget="iban"/></sheet></form>',
+ mockRPC: function (route, args) {
+ if (args.method === 'check_iban') {
+ console.log(args.args[1] === "BE00 0000 0000 0000 0000")
+ return Promise.resolve(args.args[1] === "BE00 0000 0000 0000 0000");
+ }
+ return this._super.apply(this, arguments);
+ },
+ });
+
+ await testUtils.fields.editAndTrigger(form.$('.o_field_widget'), "BE00", 'input');
+ assert.containsOnce(form, '.o_iban_fail', "Should be a False account, it's too short");
+ assert.containsOnce(form, '.fa-times', "Should have a cross pictogram");
+
+ await testUtils.fields.editAndTrigger(form.$('.o_field_widget'), "BE00 0000 0000 0000 0000", 'input');
+ assert.containsOnce(form, '.text-success', "Should have text-success");
+ assert.containsOnce(form, '.fa-check', "Should have a valid pictogram");
+
+ await testUtils.fields.editAndTrigger(form.$('.o_field_widget'), "BE00 xxxx xxxx xxxx xxxx", 'input');
+ assert.containsOnce(form, '.o_iban_fail', "Should be False account");
+ assert.containsOnce(form, '.fa-times', "Should have a cross pictogram");
+
+ form.destroy();
+ });
+});
+});