Files
enterprise-addons/web_gantt/static/tests/gantt_scale.test.js
T

43 lines
1.3 KiB
JavaScript

import { beforeEach, expect, test } from "@odoo/hoot";
import { mockDate } from "@odoo/hoot-mock";
import { defineGanttModels } from "./gantt_mock_models";
import { contains } from "@web/../tests/web_test_helpers";
import { mountGanttView } from "./web_gantt_test_helpers";
defineGanttModels();
beforeEach(() => {
mockDate("2026-02-01 00:00:00");
});
test("custom scale selector updates UI immediately before clicking apply", async () => {
await mountGanttView({
resModel: "tasks",
arch: `<gantt date_start="start" date_stop="stop" />`,
});
await contains(".scale_button_selection").click();
const startPicker = ".o_gantt_picker:first-of-type";
const stopPicker = ".o_gantt_picker:last-of-type";
expect(startPicker).not.toHaveText(/17/);
expect(stopPicker).not.toHaveText(/18/);
await contains(startPicker).click();
await contains(".o_date_item_cell:contains(17)").click();
expect(startPicker).toHaveText(/17/);
await contains(stopPicker).click();
await contains(".o_date_item_cell:contains(18)").click();
expect(stopPicker).toHaveText(/18/);
await contains(".o_gantt_scale_selector_menu .btn-primary:contains(Apply)").click();
const rangeToggle = ".scale_button_selection";
expect(rangeToggle).toHaveText(/17/);
expect(rangeToggle).toHaveText(/18/);
});