33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test('crear transmisión y persistir', async ({ page }) => {
|
|
// Visitar la app
|
|
await page.goto('/')
|
|
|
|
// Forzar mock user en localStorage
|
|
await page.evaluate(() => localStorage.setItem('mock_user', JSON.stringify({ name: 'Demo' })))
|
|
|
|
// Navegar a /broadcast
|
|
await page.goto('/broadcast')
|
|
|
|
// Esperar el botón 'Nueva transmisión' y abrir modal
|
|
await page.waitForSelector('button:has-text("Nueva transmisión")')
|
|
await page.click('button:has-text("Nueva transmisión")')
|
|
|
|
// Rellenar formulario
|
|
await page.fill('input[placeholder]', 'Transmisión E2E')
|
|
await page.selectOption('select', 'YouTube')
|
|
await page.fill('input[placeholder="YYYY-MM-DD HH:mm"]', '2025-11-05 15:00')
|
|
|
|
// Crear
|
|
await page.click('button:has-text("Crear")')
|
|
|
|
// Esperar que la tabla tenga la nueva fila
|
|
await page.waitForSelector('td:has-text("Transmisión E2E")')
|
|
|
|
// Comprobar localStorage
|
|
const transmissions = await page.evaluate(() => JSON.parse(localStorage.getItem('broadcast_transmissions')||'[]'))
|
|
expect(transmissions.length).toBeGreaterThan(0)
|
|
expect(transmissions[0].title).toBe('Transmisión E2E')
|
|
})
|