1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/timesheet_grid/static/tests/timesheet_pivot_view_tests.js
2024-12-10 09:04:09 +07:00

67 lines
2.4 KiB
JavaScript

/** @odoo-module */
import { registry } from "@web/core/registry";
import { makeView, setupViewRegistries } from "@web/../tests/views/helpers";
import { click, getFixture } from "@web/../tests/helpers/utils";
import { makeFakeNotificationService } from "@web/../tests/helpers/mock_services";
QUnit.module("timesheet_grid", (hooks) => {
let target;
hooks.beforeEach(async function (assert) {
target = getFixture();
setupViewRegistries();
});
QUnit.module("TimesheetValidationPivotView");
QUnit.test("validate button basic rendering", async function(assert) {
const notificationMock = (message, options) => {
assert.step("notification_triggered");
return () => {};
};
registry.category("services").add("notification", makeFakeNotificationService(notificationMock), {
force: true,
});
await makeView({
type: "pivot",
resModel: "account.analytic.line",
serverData: {
models: {
'account.analytic.line': {
fields: {
unit_amount: { string: "Unit Amount", type: "integer" },
},
records: [
{ id: 1, unit_amount: 1 },
],
},
},
views: {
"account.analytic.line,false,pivot": `
<pivot js_class="timesheet_validation_pivot_view">
<field name="unit_amount"/>
</pivot>
`,
},
},
mockRPC(route, args) {
if (args.method === "action_validate_timesheet") {
assert.step("action_validate_timesheet");
return Promise.resolve({
params: {
type: "dummy type",
message: "dummy message",
},
});
}
},
});
const validateButton = target.querySelector(".o_pivot_buttons .btn");
assert.strictEqual(validateButton.innerText, "Validate");
await click(validateButton);
assert.verifySteps(["action_validate_timesheet", "notification_triggered"]);
});
});