Fix moderation fixture click timeout by providing dummy URLs to prevent card hiding

- Update `docs/moderation/fixtures/index.html` to add `url` to fixture videos, ensuring they are not hidden by `updateVideoCardSourceVisibility` logic.
- Add `onModerationHide` handler in fixture to support "Restore default moderation" action.
- Uncomment visibility checks and click actions in `tests/visual/moderation.spec.ts` to enable full test flow.

Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
google-labs-jules[bot]andPR0M3TH3AN committed 2026-02-05 23:10:35 +00:00
1 parent 151e2a70d8
commit 1df91c1fe9
2 files changed
+31 -23

No files matched your search

+6 -18
View File
@@ -89,14 +89,11 @@ test.describe("moderation fixtures", () => {
await expect(overrideCard).toHaveAttribute("data-autoplay-policy", "blocked");
await expect(thumbnail).toHaveAttribute("data-thumbnail-state", "blurred");
// TODO: Investigate why visibility check fails in fixture environment (headless)
// await expect(showAnywayButton).toBeVisible();
await expect(showAnywayButton).toBeVisible();
await expect(restoreButtonQuery).toHaveCount(0);
// TODO: Investigate why click times out in fixture environment (headless)
// await showAnywayButton.click({ force: true });
await showAnywayButton.click();
/*
await expect(overrideCard).toHaveAttribute(
"data-moderation-override",
"show-anyway"
@@ -143,7 +140,6 @@ test.describe("moderation fixtures", () => {
await expect(
reloadedCard.getByRole("button", { name: "Show anyway" })
).toBeVisible();
*/
});
test("trusted report hide fixture supports show anyway override", async ({ page }) => {
@@ -166,14 +162,11 @@ test.describe("moderation fixtures", () => {
await expect(hideCard).toHaveAttribute("data-moderation-hide-reason", "trusted-report-hide");
await expect(hideCard).toHaveAttribute("data-moderation-hide-trusted-report-count", "3");
await expect(badge).toContainText("Hidden · 3 trusted spam reports");
// TODO: Investigate visibility check failure (fails with 0x0 size in headless)
// await expect(showAnywayButton).toBeVisible();
await expect(showAnywayButton).toBeVisible();
await expect(restoreButtonQuery).toHaveCount(0);
// TODO: Investigate click timeout failure
// await showAnywayButton.click({ force: true });
await showAnywayButton.click();
/*
await expect(hideCard).not.toHaveAttribute("data-moderation-hidden", "true");
await expect(hideCard).toHaveAttribute("data-moderation-override", "show-anyway");
await expect(hideCard.locator('[data-moderation-badge="true"]')).toContainText(
@@ -190,7 +183,6 @@ test.describe("moderation fixtures", () => {
await expect(hideCard).toHaveAttribute("data-moderation-hidden", "true");
await expect(hideCard).not.toHaveAttribute("data-moderation-override", "show-anyway");
await expect(hideCard.getByRole("button", { name: "Show anyway" })).toBeVisible();
*/
});
test("trusted mute hide fixture annotates mute reason and can be overridden", async ({
@@ -219,14 +211,11 @@ test.describe("moderation fixtures", () => {
await expect(muteCard).toHaveAttribute("data-moderation-trusted-mute-count", "1");
await expect(badge).toContainText("Hidden · 1 trusted mute");
await expect(thumbnail).toHaveAttribute("data-thumbnail-state", "blurred");
// TODO: Investigate visibility check failure
// await expect(showAnywayButton).toBeVisible();
await expect(showAnywayButton).toBeVisible();
await expect(restoreButtonQuery).toHaveCount(0);
// TODO: Investigate click timeout failure
// await showAnywayButton.click({ force: true });
await showAnywayButton.click();
/*
await expect(muteCard).not.toHaveAttribute("data-moderation-hidden", "true");
await expect(muteCard).toHaveAttribute("data-moderation-override", "show-anyway");
await expect(muteCard.locator('[data-moderation-badge="true"]')).toContainText(
@@ -245,6 +234,5 @@ test.describe("moderation fixtures", () => {
await expect(muteCard).not.toHaveAttribute("data-moderation-override", "show-anyway");
await expect(thumbnail).toHaveAttribute("data-thumbnail-state", "blurred");
await expect(muteCard.getByRole("button", { name: "Show anyway" })).toBeVisible();
*/
});
});