mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
88 lines
1.8 KiB
TypeScript
88 lines
1.8 KiB
TypeScript
import {
|
|
clockFormatSchema,
|
|
disableBuildAbilitySortingSchema,
|
|
} from "~/features/settings/settings-schemas";
|
|
import {
|
|
expect,
|
|
impersonate,
|
|
navigate,
|
|
seed,
|
|
test,
|
|
waitForPOSTResponse,
|
|
} from "~/utils/playwright";
|
|
import { createFormHelpers } from "~/utils/playwright-form";
|
|
import { SETTINGS_PAGE } from "~/utils/urls";
|
|
|
|
test.describe("Settings", () => {
|
|
test("updates 'disableBuildAbilitySorting'", async ({ page }) => {
|
|
await seed(page);
|
|
await impersonate(page);
|
|
|
|
await navigate({
|
|
page,
|
|
url: "/builds/luna-blaster",
|
|
});
|
|
|
|
const oldContents = await page
|
|
.getByTestId("build-card")
|
|
.first()
|
|
.innerHTML();
|
|
|
|
await navigate({
|
|
page,
|
|
url: SETTINGS_PAGE,
|
|
});
|
|
|
|
const form = createFormHelpers(page, disableBuildAbilitySortingSchema);
|
|
await form.check("newValue");
|
|
await waitForPOSTResponse(page, () => form.check("newValue"));
|
|
|
|
await navigate({
|
|
page,
|
|
url: "/builds/luna-blaster",
|
|
});
|
|
|
|
const newContents = await page
|
|
.getByTestId("build-card")
|
|
.first()
|
|
.innerHTML();
|
|
|
|
expect(newContents).not.toBe(oldContents);
|
|
});
|
|
|
|
test("updates clock format preference", async ({ page }) => {
|
|
await seed(page);
|
|
await impersonate(page);
|
|
|
|
await navigate({
|
|
page,
|
|
url: "/",
|
|
});
|
|
|
|
const tournamentCard = page.getByTestId("tournament-card").first();
|
|
const timeElement = tournamentCard.locator("time");
|
|
const initialTime = await timeElement.textContent();
|
|
|
|
expect(initialTime).toMatch(/AM|PM/);
|
|
|
|
await navigate({
|
|
page,
|
|
url: SETTINGS_PAGE,
|
|
});
|
|
|
|
const form = createFormHelpers(page, clockFormatSchema);
|
|
await waitForPOSTResponse(page, () => form.select("newValue", "24h"));
|
|
|
|
await navigate({
|
|
page,
|
|
url: "/",
|
|
});
|
|
|
|
const newTime = await tournamentCard.locator("time").textContent();
|
|
|
|
expect(newTime).not.toMatch(/AM|PM/);
|
|
expect(newTime).not.toBe(initialTime);
|
|
expect(newTime).toContain(":");
|
|
});
|
|
});
|