Ctrl K
ComunidadGuías…

frontend/e2e/screens.spec.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { expect, test } from "@playwright/test"
import path from "node:path"
import { MEDIA, registerUser } from "./helpers"

// Design review screenshots with real content. Run with SCREENS=1.
test.skip(!process.env.SCREENS, "screenshots only on demand")

test("populated screenshots", async ({ page }, info) => {
  test.setTimeout(180_000)
  await registerUser(page)
  await page.goto("/photos")
  await page.locator('input[type="file"]').setInputFiles(
    ["photo_0.jpg", "photo_1.jpg", "photo_2.jpg", "photo_3.jpg", "big_8000x6000.jpg", "photo.png", "photo.webp", "photo.heic"].map((f) => path.join(MEDIA, f)),
  )
  await expect(page.locator('img[src*="/thumb?size=sm"]')).toHaveCount(8, { timeout: 60_000 })
  await page.goto("/videos")
  await page.locator('input[type="file"]').setInputFiles([path.join(MEDIA, "sample_1080p.mp4"), path.join(MEDIA, "sample_hevc.mkv")])
  await expect(page.getByText("0:30")).toBeVisible({ timeout: 60_000 })
  await page.goto("/drive")
  await page.locator('input[type="file"]').setInputFiles(["notes.txt", "code.py", "doc.pdf"].map((f) => path.join(MEDIA, f)))
  await expect(page.getByRole("button", { name: "doc.pdf", exact: true })).toBeVisible({ timeout: 30_000 })
  await page.waitForTimeout(4500)
  for (const theme of ["light", "dark"]) {
    for (const r of ["/", "/photos", "/videos", "/drive", "/settings"]) {
      await page.goto(r)
      await page.evaluate((t) => (document.documentElement.dataset.theme = t), theme)
      await page.waitForTimeout(900)
      await page.screenshot({ path: `../.devdata/screens/${info.project.name}-${theme}${r.replaceAll("/", "_")}.png` })
    }
  }
  await page.goto("/photos")
  await page.getByRole("button", { name: "big_8000x6000.jpg" }).click()
  await page.waitForTimeout(1200)
  await page.screenshot({ path: `../.devdata/screens/${info.project.name}-viewer.png` })
  await page.goto("/logout-nope")
})