56 lines
2.2 KiB
JavaScript
56 lines
2.2 KiB
JavaScript
// Rôle : vérifie la bande de mémos fixe sur les pages de toolbox et de jeu associées.
|
|
import { test, expect } from "@playwright/test";
|
|
import { resetSokkoStorage } from "./helpers/storage.js";
|
|
|
|
async function seedMemosToolbox(page) {
|
|
await resetSokkoStorage(page);
|
|
await page.evaluate(async () => {
|
|
await new Promise((resolve, reject) => {
|
|
const request = globalThis.indexedDB.open("sokkog", 1);
|
|
request.onsuccess = () => {
|
|
const db = request.result;
|
|
const tx = db.transaction(["kv", "modules"], "readwrite");
|
|
tx.objectStore("kv").put([
|
|
{ id: "memo-toolbox", name: "Toolbox mémos", modules: [{ id: "memos", type: "memos", title: "Mémos" }], moduleColumns: 1 }
|
|
], "toolboxes");
|
|
tx.objectStore("kv").put({ mhwilds: "memo-toolbox" }, "links");
|
|
tx.objectStore("modules").put({
|
|
key: "memo-toolbox:memos",
|
|
data: { items: [{ id: "memo-1", text: "Préparer les potions", color: "#f6c453" }] }
|
|
});
|
|
tx.oncomplete = () => { db.close(); resolve(); };
|
|
tx.onerror = () => reject(tx.error);
|
|
};
|
|
request.onerror = () => reject(request.error);
|
|
});
|
|
});
|
|
await page.reload();
|
|
}
|
|
|
|
test("shows and persists the memo ticker on linked game and full toolbox pages", async ({ page }) => {
|
|
await seedMemosToolbox(page);
|
|
|
|
await page.goto("/#/games/mhwilds/monsters");
|
|
const globalTicker = page.locator(".global-memos-ticker");
|
|
await expect(globalTicker).toBeVisible();
|
|
await expect(globalTicker).toContainText("Préparer les potions");
|
|
await expect(globalTicker).toHaveCSS("position", "fixed");
|
|
|
|
await page.goto("/#/games/aniimo/aniimos");
|
|
await expect(globalTicker).toHaveCount(0);
|
|
|
|
await page.goto("/#/toolbox/memo-toolbox");
|
|
await expect(globalTicker).toBeVisible();
|
|
const toggle = page.locator(".memos-ticker-toggle");
|
|
await expect(toggle).toHaveAccessibleName("Masquer la bande");
|
|
await toggle.click();
|
|
await expect(globalTicker).toHaveCount(0);
|
|
await page.reload();
|
|
await expect(globalTicker).toHaveCount(0);
|
|
await expect(toggle).toHaveAccessibleName("Afficher la bande");
|
|
await toggle.click();
|
|
await expect(globalTicker).toBeVisible();
|
|
|
|
await page.goto("/#/toolboxes");
|
|
await expect(globalTicker).toHaveCount(0);
|
|
});
|