Initial commit: Web packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:51 +02:00
commit cd458d4b85
791 changed files with 410049 additions and 0 deletions

View file

@ -0,0 +1,63 @@
/** @odoo-module **/
import { getFixture, getNodesTextContent } from "@web/../tests/helpers/utils";
import { makeView, setupViewRegistries } from "@web/../tests/views/helpers";
let serverData;
let target;
QUnit.module("Fields", (hooks) => {
hooks.beforeEach(() => {
target = getFixture();
serverData = {
models: {
partner: {
fields: {
int_field: {
string: "int_field",
type: "integer",
},
another_int_field: {
string: "another_int_field",
type: "integer",
},
},
records: [
{ id: 1, int_field: 10, another_int_field: 45 },
{ id: 2, int_field: 4, another_int_field: 10 },
],
},
},
};
setupViewRegistries();
});
QUnit.module("GaugeField");
QUnit.test("GaugeField in kanban view", async function (assert) {
await makeView({
type: "kanban",
resModel: "partner",
serverData,
arch: `
<kanban>
<field name="another_int_field"/>
<templates>
<t t-name="kanban-box">
<div>
<field name="int_field" widget="gauge" options="{'max_field': 'another_int_field'}"/>
</div>
</t>
</templates>
</kanban>`,
});
assert.containsN(target, ".o_kanban_record:not(.o_kanban_ghost)", 2);
assert.containsN(target, ".o_field_widget[name=int_field] .oe_gauge canvas", 2);
assert.deepEqual(getNodesTextContent(target.querySelectorAll(".o_gauge_value")), [
"10",
"4",
]);
});
});

View file

@ -0,0 +1,49 @@
odoo.define('web_kanban_gauge.gauge_tests', function (require) {
"use strict";
var KanbanView = require('web.KanbanView');
var testUtils = require('web.test_utils');
var createView = testUtils.createView;
QUnit.module('fields', {}, function () {
QUnit.module('basic_fields', {
beforeEach: function () {
this.data = {
partner: {
fields: {
int_field: {string: "int_field", type: "integer", sortable: true},
},
records: [
{id: 1, int_field: 10},
{id: 2, int_field: 4},
]
},
};
}
}, function () {
QUnit.module('gauge widget');
QUnit.test('basic rendering', async function (assert) {
assert.expect(1);
var kanban = await createView({
View: KanbanView,
model: 'partner',
data: this.data,
arch: '<kanban><templates><t t-name="kanban-box">' +
'<div><field name="int_field" widget="gauge"/></div>' +
'</t></templates></kanban>',
});
assert.containsOnce(kanban, '.o_kanban_record:first .oe_gauge canvas',
"should render the gauge widget");
kanban.destroy();
});
});
});
});

View file

@ -0,0 +1,57 @@
/** @odoo-module **/
import { getFixture, getNodesTextContent } from "@web/../tests/helpers/utils";
import { makeView, setupViewRegistries } from "@web/../tests/views/helpers";
let serverData;
let target;
QUnit.module("Fields", (hooks) => {
hooks.beforeEach(() => {
target = getFixture();
serverData = {
models: {
partner: {
fields: {
int_field: {
string: "int_field",
type: "integer",
},
},
records: [
{ id: 1, int_field: 10 },
],
},
},
};
setupViewRegistries();
});
QUnit.module("GaugeValue");
QUnit.test("GaugeValue in kanban view", async function (assert) {
await makeView({
type: "kanban",
resModel: "partner",
serverData,
arch: `
<kanban>
<templates>
<t t-name="kanban-box">
<div>
<field name="int_field" widget="gauge" options="{'max_value': 120}"/>
<field name="int_field" widget="gauge"/>
</div>
</t>
</templates>
</kanban>`,
});
assert.containsN(target, ".o_field_widget[name=int_field] .oe_gauge canvas", 2);
assert.deepEqual(getNodesTextContent(target.querySelectorAll(".o_gauge_value")), [
"10",
"10",
]);
});
});