Fix CI JS corruption from obfuscator stdout; clean up flaky test guards #81
@@ -207,10 +207,11 @@ jobs:
|
|||||||
[ -f "$f" ] || continue
|
[ -f "$f" ] || continue
|
||||||
name=$(basename "$f" .el)
|
name=$(basename "$f" .el)
|
||||||
echo "Compiling $f..."
|
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"
|
echo "elc FAILED on $f"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
sed '/^\[javascript-obfuscator/d' /tmp/_elc_out.js > "dist/js/${name}.js"
|
||||||
echo " compiled: $f -> dist/js/${name}.js"
|
echo " compiled: $f -> dist/js/${name}.js"
|
||||||
done
|
done
|
||||||
rm -f src/js/el_runtime.js
|
rm -f src/js/el_runtime.js
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { test, expect } from '@playwright/test';
|
|||||||
test.describe('Demo chat widget — structure', () => {
|
test.describe('Demo chat widget — structure', () => {
|
||||||
test.beforeEach(async ({ page }) => {
|
test.beforeEach(async ({ page }) => {
|
||||||
await page.goto('/');
|
await page.goto('/');
|
||||||
await page.waitForLoadState('networkidle');
|
await page.waitForLoadState('domcontentloaded');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Demo panel (#neuron-demo-panel) is in the DOM', async ({ page }) => {
|
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));
|
.forEach(k => localStorage.removeItem(k));
|
||||||
});
|
});
|
||||||
await page.reload();
|
await page.reload();
|
||||||
await page.waitForLoadState('networkidle');
|
await page.waitForLoadState('domcontentloaded');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Send button is disabled when unauthenticated', async ({ page }) => {
|
test('Send button is disabled when unauthenticated', async ({ page }) => {
|
||||||
|
|||||||
@@ -186,7 +186,6 @@ test('[professional] payment-message div starts hidden', async ({ page }) => {
|
|||||||
|
|
||||||
test('[professional] buyer-name input is present and fillable', async ({ page }) => {
|
test('[professional] buyer-name input is present and fillable', async ({ page }) => {
|
||||||
await page.goto('/checkout?plan=professional');
|
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 expect(page.locator('#buyer-name')).toBeAttached();
|
||||||
await page.fill('#buyer-name', 'Test User');
|
await page.fill('#buyer-name', 'Test User');
|
||||||
expect(await page.locator('#buyer-name').inputValue()).toBe('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 }) => {
|
test('[professional] buyer-email input is present and fillable', async ({ page }) => {
|
||||||
await page.goto('/checkout?plan=professional');
|
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 expect(page.locator('#buyer-email')).toBeAttached();
|
||||||
await page.fill('#buyer-email', 'test@example.com');
|
await page.fill('#buyer-email', 'test@example.com');
|
||||||
expect(await page.locator('#buyer-email').inputValue()).toBe('test@example.com');
|
expect(await page.locator('#buyer-email').inputValue()).toBe('test@example.com');
|
||||||
|
|||||||
Reference in New Issue
Block a user