AvanzaCast/packages/e2e/tests/broadcast.spec.ts

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')
})