Research-Stack/4-Infrastructure/k3s-flake/tests/dump-tab-elements.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

28 lines
1.1 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('Dump tab elements HTML', async ({ browser }) => {
const context = await browser.newContext({ storageState: 'auth-state.json' });
const page = await context.newPage();
await page.goto('https://media.researchstack.info/web/#/dashboard/plugins');
await page.waitForLoadState('networkidle');
await page.waitForTimeout(4000);
const elementsHtml = await page.evaluate(() => {
const results: string[] = [];
// Find all links, buttons, spans, divs with class
const selectors = ['a', 'button', 'span', 'div.tabButton', '.button-flat', '.emby-button'];
selectors.forEach(sel => {
document.querySelectorAll(sel).forEach(el => {
const text = el.textContent?.trim() || '';
if (text === 'Available' || text === 'Installed' || text === 'All') {
results.push(`<${el.tagName.toLowerCase()} class="${el.className}" id="${el.id}" href="${el.getAttribute('href') || ''}" outer="${el.outerHTML.slice(0, 300)}">`);
}
});
});
return results;
});
console.log('Tab elements found:', elementsHtml);
await context.close();
});