Files
web-hosts/chuckie.coppertone.tech/app/tests/canva-app-headless.js
2025-12-26 13:38:04 +01:00

39 lines
1.0 KiB
JavaScript

// Smoke test canva-app (port 8081) with Playwright, failing on console errors.
const { chromium } = require('playwright')
async function main() {
const url = process.env.CANVA_APP_URL || 'http://localhost:8081/'
const browser = await chromium.launch({ headless: true })
const page = await browser.newPage()
const errors = []
page.on('console', (msg) => {
if (msg.type() === 'error') {
errors.push(`console error: ${msg.text()}`)
}
})
page.on('pageerror', (err) => {
errors.push(`page error: ${err.message}`)
})
page.on('requestfailed', (req) => {
errors.push(`request failed: ${req.url()} -> ${req.failure()?.errorText}`)
})
await page.goto(url, { waitUntil: 'networkidle' })
await page.waitForTimeout(500)
await browser.close()
if (errors.length) {
console.error('Canva app headless check failed:')
errors.forEach((e) => console.error(' -', e))
process.exit(1)
}
console.log('Canva app headless check passed (no console/page errors)')
}
main().catch((e) => {
console.error(e)
process.exit(1)
})