Research-Stack/4-Infrastructure/k3s-flake/tests/dump-step5.spec.ts
Brandon Schneider 9e80ac68ca feat(infra): Jellyfin wizard complete, SSO-Auth plugin files deployed
- Jellyfin setup wizard completed, admin account created (admin/jellyfin-admin)
- SSO-Auth plugin v4.0.0.3 downloaded and placed in plugins directory
- Authentik OIDC provider for Jellyfin updated with correct redirect URI
- All services verified running

Build: 3313 jobs, 0 errors (lake build Compiler)
2026-05-31 14:14:20 -05:00

48 lines
1.8 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('Dump Step 5 inputs', async ({ browser }) => {
const context = await browser.newContext({ storageState: 'auth-state.json' });
const page = await context.newPage();
console.log('Navigating to wizard start...');
await page.goto('https://media.researchstack.info/web/#/wizard/start');
await page.waitForLoadState('networkidle');
await page.waitForTimeout(3000);
// Step 1 -> Step 2
await page.locator('.button-submit:visible').first().click();
await page.waitForTimeout(3000);
// Step 2 -> Step 3
await page.locator('input#txtUsername:visible').fill('admin');
await page.locator('input#txtManualPassword:visible').fill('RY03KhsFez73K5va2uUb');
await page.locator('input#txtPasswordConfirm:visible').fill('RY03KhsFez73K5va2uUb');
await page.locator('.button-submit:visible').first().click();
await page.waitForTimeout(3000);
// Step 3 -> Step 4
await page.locator('.button-submit:visible').first().click();
await page.waitForTimeout(3000);
// Step 4 -> Step 5
await page.locator('.button-submit:visible').first().click();
await page.waitForTimeout(3000);
console.log('Current URL:', page.url());
await page.screenshot({ path: 'jellyfin-wizard-step5-debug.png' });
// Print all visible input/button tags on the page
const inputs = await page.evaluate(() => {
return Array.from(document.querySelectorAll('input, select, button')).map(el => ({
tagName: el.tagName,
id: el.id,
type: el.getAttribute('type'),
className: el.className,
innerText: (el as HTMLElement).innerText || el.getAttribute('value'),
isVisible: (el as HTMLElement).offsetWidth > 0 && (el as HTMLElement).offsetHeight > 0
}));
});
console.log('Inputs found in Step 5:', JSON.stringify(inputs, null, 2));
await context.close();
});