Pulse/tests/integration/scripts/runtime-defaults.test.mjs
2026-04-10 17:26:18 +01:00

61 lines
1.9 KiB
JavaScript

import assert from 'node:assert/strict';
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
import test from 'node:test';
import {
managedDevBrowserBaseURL,
preferredBrowserBaseURL,
runtimeStatePath,
} from '../tests/runtime-defaults.ts';
test('preferredBrowserBaseURL lets PLAYWRIGHT_BASE_URL override the browser target', () => {
const resolved = preferredBrowserBaseURL({
PLAYWRIGHT_BASE_URL: 'http://127.0.0.1:4174',
PULSE_BASE_URL: 'http://127.0.0.1:7655',
});
assert.equal(resolved, 'http://127.0.0.1:4174');
});
test('preferredBrowserBaseURL still falls back to PULSE_BASE_URL when no browser override exists', () => {
const resolved = preferredBrowserBaseURL({
PULSE_BASE_URL: 'http://127.0.0.1:7655',
});
assert.equal(resolved, 'http://127.0.0.1:7655');
});
test('runtimeStatePath resolves the default path from an overridden integration repo root', () => {
const repoRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'pulse-runtime-defaults-'));
try {
assert.equal(
runtimeStatePath({
PULSE_E2E_REPO_ROOT: repoRoot,
}),
path.join(repoRoot, 'tmp', 'e2e-runtime-state.json'),
);
} finally {
fs.rmSync(repoRoot, { recursive: true, force: true });
}
});
test('managedDevBrowserBaseURL keeps the configured host and port when a managed session exists', () => {
const repoRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'pulse-managed-dev-runtime-'));
fs.mkdirSync(path.join(repoRoot, 'tmp'), { recursive: true });
fs.writeFileSync(path.join(repoRoot, 'tmp', 'hot-dev.bg.pid'), `${process.pid}\n`);
try {
const resolved = managedDevBrowserBaseURL({
FRONTEND_DEV_HOST: '127.0.0.1',
FRONTEND_DEV_PORT: '4174',
PULSE_E2E_REPO_ROOT: repoRoot,
});
assert.equal(resolved, 'http://127.0.0.1:4174');
} finally {
fs.rmSync(repoRoot, { recursive: true, force: true });
}
});