36 lines
1.4 KiB
JavaScript
36 lines
1.4 KiB
JavaScript
|
/* @odoo-module */
|
||
|
|
||
|
import { getPyEnv, startServer } from "@bus/../tests/helpers/mock_python_environment";
|
||
|
import { addBusServicesToRegistry } from "@bus/../tests/helpers/test_utils";
|
||
|
import { assetsWatchdogService } from "@bus/services/assets_watchdog_service";
|
||
|
|
||
|
import { patchWithCleanup } from "@web/../tests/helpers/utils";
|
||
|
import { click, contains } from "@web/../tests/utils";
|
||
|
import { createWebClient } from "@web/../tests/webclient/helpers";
|
||
|
import { browser } from "@web/core/browser/browser";
|
||
|
import { registry } from "@web/core/registry";
|
||
|
|
||
|
QUnit.module("Bus Assets WatchDog");
|
||
|
|
||
|
QUnit.test("can listen on bus and displays notifications in DOM", async (assert) => {
|
||
|
await startServer();
|
||
|
addBusServicesToRegistry();
|
||
|
registry.category("services").add("assetsWatchdog", assetsWatchdogService);
|
||
|
patchWithCleanup(browser, {
|
||
|
setTimeout(fn) {
|
||
|
return super.setTimeout(fn, 0);
|
||
|
},
|
||
|
location: {
|
||
|
reload: () => assert.step("reloadPage"),
|
||
|
},
|
||
|
});
|
||
|
await createWebClient({});
|
||
|
const pyEnv = await getPyEnv();
|
||
|
pyEnv["bus.bus"]._sendone("broadcast", "bundle_changed", {
|
||
|
server_version: "NEW_MAJOR_VERSION",
|
||
|
});
|
||
|
await contains(".o_notification", { text: "The page appears to be out of date." });
|
||
|
await click(".o_notification_buttons .btn-primary", { text: "Refresh" });
|
||
|
assert.verifySteps(["reloadPage"]);
|
||
|
});
|