Files
html/api/playwright-opus-proof.js
Opus cfb79c6399
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
auto-sync-0420
2026-04-24 04:20:06 +02:00

70 lines
2.5 KiB
JavaScript

const { chromium } = require('/var/www/html/api/node_modules/playwright');
const fs = require('fs');
const path = require('path');
const OUTDIR = process.env.OUTDIR || __dirname;
const BASE = 'https://weval-consulting.com';
(async () => {
const browser = await chromium.launch({
headless: true,
args: ['--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu']
});
const ctx = await browser.newContext({
viewport: { width: 1280, height: 720 },
recordVideo: { dir: OUTDIR, size: { width: 1280, height: 720 } },
userAgent: 'WEVIA-Opus-Playwright-Proof/1.0'
});
const page = await ctx.newPage();
const results = { ts: new Date().toISOString(), tests: [] };
// Test 1: home weval-consulting
try {
await page.goto(BASE + '/', { waitUntil: 'domcontentloaded', timeout: 20000 });
await page.waitForTimeout(2000);
await page.screenshot({ path: path.join(OUTDIR, '01-home.png'), fullPage: false });
const title = await page.title();
results.tests.push({ name: 'home', ok: true, title });
console.log('[OK] home:', title);
} catch (e) {
results.tests.push({ name: 'home', ok: false, err: e.message });
console.log('[ERR] home:', e.message);
}
// Test 2: WEVIA cascade status live
try {
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
data: { message: 'cascade status live', session: 'opus-pw-test' },
headers: { 'Content-Type': 'application/json' }
});
const data = await resp.json();
results.tests.push({ name: 'cascade_status', ok: !!data.content, content: (data.content || '').substring(0, 300) });
console.log('[OK] cascade_status executed, tool=' + data.tool);
} catch (e) {
results.tests.push({ name: 'cascade_status', ok: false, err: e.message });
console.log('[ERR] cascade_status:', e.message);
}
// Test 3: WEVIA auto-wire proof
try {
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
data: { message: 'ping', session: 'opus-pw-ping' },
headers: { 'Content-Type': 'application/json' }
});
const data = await resp.json();
results.tests.push({ name: 'ping', ok: true, elapsed_ms: data.elapsed_ms });
console.log('[OK] ping:', data.elapsed_ms + 'ms');
} catch (e) {
results.tests.push({ name: 'ping', ok: false, err: e.message });
}
fs.writeFileSync(path.join(OUTDIR, 'results.json'), JSON.stringify(results, null, 2));
await ctx.close();
await browser.close();
console.log('DONE. Output:', OUTDIR);
console.log('Results:', JSON.stringify(results, null, 2));
})();