test: open drive settings for volume and pause in browser specs
This commit is contained in:
@@ -96,14 +96,15 @@ test("starts Web Audio synchronously from the visitor gesture and exposes access
|
||||
|
||||
await expect(page.getByRole("button", { name: "Mute sound" })).toBeVisible();
|
||||
await expect(
|
||||
page.getByRole("button", { name: "Sound volume" }),
|
||||
page.getByRole("button", { name: "Drive settings" }),
|
||||
).toBeVisible();
|
||||
// Volume and Pause motion live inside the settings panel since round 5.
|
||||
await page.getByRole("button", { name: "Drive settings" }).click();
|
||||
await expect(page.getByLabel("Sound volume level")).toBeVisible();
|
||||
await expect(
|
||||
page.getByRole("button", { name: "Pause motion" }),
|
||||
).toBeVisible();
|
||||
await expect(
|
||||
page.getByRole("button", { name: "Drive settings" }),
|
||||
).toBeVisible();
|
||||
await page.keyboard.press("Escape");
|
||||
await expect
|
||||
.poll(() =>
|
||||
page.evaluate(
|
||||
@@ -194,7 +195,7 @@ test("persists native volume and keeps sound independent from Static motion", as
|
||||
await page.goto(distUrl, { waitUntil: "domcontentloaded" });
|
||||
await page.getByRole("button", { name: "Play soundtrack" }).click();
|
||||
|
||||
await page.getByRole("button", { name: "Sound volume" }).click();
|
||||
await page.getByRole("button", { name: "Drive settings" }).click();
|
||||
const volume = page.getByLabel("Sound volume level");
|
||||
await volume.fill("0.65");
|
||||
await expect(volume).toHaveValue("0.65");
|
||||
@@ -204,15 +205,14 @@ test("persists native volume and keeps sound independent from Static motion", as
|
||||
)
|
||||
.toBe("0.65");
|
||||
|
||||
await page.getByRole("button", { name: "Drive settings" }).click();
|
||||
await page.getByLabel("Quality control").selectOption("static");
|
||||
await expect(page.getByRole("button", { name: "Unmute sound" })).toHaveCount(
|
||||
0,
|
||||
);
|
||||
await expect(page.getByRole("button", { name: "Mute sound" })).toBeVisible();
|
||||
await expect(volume).toHaveCount(0);
|
||||
await page.getByRole("button", { name: "Sound volume" }).click();
|
||||
// The volume slider shares the open settings panel with Quality.
|
||||
await expect(volume).toBeVisible();
|
||||
await expect(volume).toHaveValue("0.65");
|
||||
});
|
||||
|
||||
test("requires a direct visitor action after browser interruption without creating another graph", async ({
|
||||
@@ -235,6 +235,13 @@ test("requires a direct visitor action after browser interruption without creati
|
||||
await expect(
|
||||
page.getByRole("button", { name: "Resume sound" }),
|
||||
).toBeVisible();
|
||||
// Resume and Mute share one bay slot, so Mute returns only once the context
|
||||
// reports running again: lift the synthetic "interrupted" state first.
|
||||
await page.evaluate(() => {
|
||||
const context = (window as unknown as { __audioContexts: AudioContext[] })
|
||||
.__audioContexts[0];
|
||||
if (context) delete (context as unknown as { state?: string }).state;
|
||||
});
|
||||
await page.getByRole("button", { name: "Resume sound" }).click();
|
||||
await expect(page.getByRole("button", { name: "Mute sound" })).toBeVisible();
|
||||
await expect
|
||||
|
||||
Reference in New Issue
Block a user