Fix CI JS corruption from obfuscator stdout; clean up flaky test guards #81

Merged
will.anderson merged 1 commits from fix/stage-ci-paths into dev 2026-05-11 14:16:31 +00:00
3 changed files with 4 additions and 5 deletions
+2 -1
View File
@@ -207,10 +207,11 @@ jobs:
[ -f "$f" ] || continue
name=$(basename "$f" .el)
echo "Compiling $f..."
"$ELC" --target=js --bundle --minify --obfuscate "$f" > "dist/js/${name}.js" || {
"$ELC" --target=js --bundle --minify --obfuscate "$f" > /tmp/_elc_out.js || {
echo "elc FAILED on $f"
exit 1
}
sed '/^\[javascript-obfuscator/d' /tmp/_elc_out.js > "dist/js/${name}.js"
echo " compiled: $f -> dist/js/${name}.js"
done
rm -f src/js/el_runtime.js
+2 -2
View File
@@ -7,7 +7,7 @@ import { test, expect } from '@playwright/test';
test.describe('Demo chat widget — structure', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/');
await page.waitForLoadState('networkidle');
await page.waitForLoadState('domcontentloaded');
});
test('Demo panel (#neuron-demo-panel) is in the DOM', async ({ page }) => {
@@ -41,7 +41,7 @@ test.describe('Demo chat widget — auth gate', () => {
.forEach(k => localStorage.removeItem(k));
});
await page.reload();
await page.waitForLoadState('networkidle');
await page.waitForLoadState('domcontentloaded');
});
test('Send button is disabled when unauthenticated', async ({ page }) => {
-2
View File
@@ -186,7 +186,6 @@ test('[professional] payment-message div starts hidden', async ({ page }) => {
test('[professional] buyer-name input is present and fillable', async ({ page }) => {
await page.goto('/checkout?plan=professional');
await page.waitForFunction(() => typeof (window as any).signUpWithEmail === 'function', { timeout: 10000 });
await expect(page.locator('#buyer-name')).toBeAttached();
await page.fill('#buyer-name', 'Test User');
expect(await page.locator('#buyer-name').inputValue()).toBe('Test User');
@@ -194,7 +193,6 @@ test('[professional] buyer-name input is present and fillable', async ({ page })
test('[professional] buyer-email input is present and fillable', async ({ page }) => {
await page.goto('/checkout?plan=professional');
await page.waitForFunction(() => typeof (window as any).signUpWithEmail === 'function', { timeout: 10000 });
await expect(page.locator('#buyer-email')).toBeAttached();
await page.fill('#buyer-email', 'test@example.com');
expect(await page.locator('#buyer-email').inputValue()).toBe('test@example.com');