53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
odoo.define('web.custom_checkbox_tests', function (require) {
|
|
"use strict";
|
|
|
|
const CustomCheckbox = require('web.CustomCheckbox');
|
|
const testUtils = require('web.test_utils');
|
|
|
|
const { createComponent, dom: testUtilsDom } = testUtils;
|
|
|
|
QUnit.module('Components', {}, function () {
|
|
|
|
QUnit.module('CustomCheckbox');
|
|
|
|
QUnit.test('test checkbox: default values', async function(assert) {
|
|
assert.expect(6);
|
|
|
|
const checkbox = await createComponent(CustomCheckbox, {});
|
|
|
|
assert.containsOnce(checkbox.el, 'input');
|
|
assert.containsNone(checkbox.el, 'input:disabled');
|
|
assert.containsOnce(checkbox.el, 'label');
|
|
|
|
const input = checkbox.el.querySelector('input');
|
|
assert.notOk(input.checked, 'checkbox should be unchecked');
|
|
assert.ok(input.id.startsWith('checkbox-comp-'));
|
|
|
|
await testUtilsDom.click(checkbox.el.querySelector('label'));
|
|
assert.ok(input.checked, 'checkbox should be checked');
|
|
});
|
|
|
|
QUnit.test('test checkbox: custom values', async function(assert) {
|
|
assert.expect(6);
|
|
|
|
const checkbox = await createComponent(CustomCheckbox, {
|
|
props: {
|
|
id: 'my-form-check',
|
|
disabled: true,
|
|
value: true,
|
|
text: 'checkbox',
|
|
}
|
|
});
|
|
|
|
assert.containsOnce(checkbox.el, 'input');
|
|
assert.containsOnce(checkbox.el, 'input:disabled');
|
|
assert.containsOnce(checkbox.el, 'label');
|
|
|
|
const input = checkbox.el.querySelector('input');
|
|
assert.ok(input.checked, 'checkbox should be checked');
|
|
assert.strictEqual(input.id, 'my-form-check');
|
|
assert.ok(input.checked, 'checkbox should be checked');
|
|
});
|
|
});
|
|
});
|