const { chromium } = require('playwright') async function main() { const browser = await chromium.launch() const page = await browser.newPage() const uname = 'probe' + Date.now().toString().slice(-6) await page.goto('http://localhost:5173/register', { waitUntil: 'networkidle' }) await page.fill('input[autocomplete="username"]', uname) await page.fill('input[autocomplete="email"]', uname + '@test.com') await page.fill('input[autocomplete="new-password"]', 'password123') await page.locator('input[autocomplete="new-password"]').nth(1).fill('password123') await page.click('button[type="submit"]') await page.waitForURL('**/console/dashboard', { timeout: 10000 }) await page.waitForTimeout(500) const results = await page.evaluate(async () => { const out = {} for (const [name, url] of Object.entries({ balance: '/api/v1/user/balance', stats: '/api/v1/usage/stats?group=day', logs: '/api/v1/usage/logs?page_size=8', })) { try { const r = await fetch(url, { headers: { Authorization: 'Bearer ' + localStorage.getItem('ot_access') } }) const j = await r.json() out[name] = { status: r.status, body: JSON.stringify(j).slice(0, 220) } } catch (e) { out[name] = { err: String(e) } } } return out }) console.log(JSON.stringify(results, null, 1)) await browser.close() } main().catch(e => { console.error(e); process.exit(1) })