| 123456789101112131415161718192021222324252627282930313233343536 |
- import { expect, test } from '@playwright/test'
- import fs from 'node:fs/promises'
- import path from 'node:path'
- import { fileURLToPath } from 'node:url'
- const here = path.dirname(fileURLToPath(import.meta.url))
- const rootDir = path.resolve(here, '..', '..')
- const samplesDir = process.env.SCREENSHOT_DIR ?? path.join(rootDir, 'samples')
- const zip1 = path.join(rootDir, 'samples', '2a03f38ddcdc7281d8e53a3c.zip')
- const zip2 = path.join(rootDir, 'samples', '5b4c3cc15ee5190007a11d0b.zip')
- test('basic upload -> wall -> viewer flow', async ({ page }) => {
- await fs.mkdir(samplesDir, { recursive: true })
- await page.goto('/')
- await expect(page.getByTestId('wall-grid')).toBeVisible()
- await page.getByTestId('upload-input').setInputFiles(zip1)
- await expect(page.getByTestId('upload-button')).toHaveText('+', { timeout: 90_000 })
- await expect(page.getByTestId('wall-tile').first()).toBeVisible({ timeout: 60_000 })
- await page.screenshot({ path: path.join(samplesDir, '01-upload-finalize.png'), fullPage: true })
- await page.getByTestId('wall-tile').first().click()
- await expect(page.getByTestId('viewer-image')).toBeVisible()
- await page.screenshot({ path: path.join(samplesDir, '02-viewer.png'), fullPage: true })
- await page.getByTestId('viewer-close').click()
- await expect(page.getByTestId('wall-grid')).toBeVisible()
- await page.screenshot({ path: path.join(samplesDir, '03-wall.png'), fullPage: true })
- await page.getByTestId('upload-input').setInputFiles(zip2)
- await expect(page.getByTestId('upload-button')).toHaveText('+', { timeout: 120_000 })
- await expect(page.getByTestId('wall-tile').first()).toBeVisible({ timeout: 60_000 })
- await page.screenshot({ path: path.join(samplesDir, '04-second-album.png'), fullPage: true })
- })
|