Skip to content

Commit bc072eb

Browse files
committed
test(ui): make workflow paths portable
1 parent 2f1731b commit bc072eb

14 files changed

Lines changed: 51 additions & 18 deletions

e2e/acp-smoke-lib.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,9 @@ export function resolveACPEndpoint(spritz) {
230230
* Load a Node-compatible WebSocket client constructor from the CLI dependency set.
231231
*/
232232
export function resolveWebSocketConstructor() {
233+
if (typeof globalThis.WebSocket === 'function') {
234+
return globalThis.WebSocket;
235+
}
233236
const wsModule = cliRequire('ws');
234237
return wsModule.WebSocket || wsModule.default || wsModule;
235238
}

ui/entrypoint.test.mjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import fs from 'node:fs';
44
import os from 'node:os';
55
import path from 'node:path';
66
import vm from 'node:vm';
7+
import { uiPath, uiPublicPath } from './test-paths.mjs';
78
import { execFileSync } from 'node:child_process';
89

910
function renderConfig(env = {}) {
1011
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'spritz-ui-'));
11-
fs.copyFileSync('/Users/onur/repos/spritz/ui/public/config.js', path.join(tmpDir, 'config.js'));
12-
fs.copyFileSync('/Users/onur/repos/spritz/ui/public/index.html', path.join(tmpDir, 'index.html'));
12+
fs.copyFileSync(uiPublicPath('config.js'), path.join(tmpDir, 'config.js'));
13+
fs.copyFileSync(uiPublicPath('index.html'), path.join(tmpDir, 'index.html'));
1314

14-
execFileSync('/bin/sh', ['/Users/onur/repos/spritz/ui/entrypoint.sh'], {
15+
execFileSync('/bin/sh', [uiPath('entrypoint.sh')], {
1516
env: {
1617
...process.env,
1718
SPRITZ_UI_HTML_DIR: tmpDir,

ui/nginx-config.test.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
4+
import { uiPath } from './test-paths.mjs';
45

5-
const nginxConfig = fs.readFileSync('/Users/onur/repos/spritz/ui/nginx.conf', 'utf8');
6+
const nginxConfig = fs.readFileSync(uiPath('nginx.conf'), 'utf8');
67

78
test('nginx config disables caching for index and runtime config', () => {
89
assert.match(nginxConfig, /location = \/index\.html \{[\s\S]*Cache-Control "no-store, max-age=0"/);

ui/public/acp-client.test.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function loadACPClientModule() {
78
const sockets = [];
@@ -57,7 +58,7 @@ function loadACPClientModule() {
5758
});
5859
context.globalThis = context.window;
5960

60-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-client.js', 'utf8'), context, {
61+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-client.js'), 'utf8'), context, {
6162
filename: 'acp-client.js',
6263
});
6364

ui/public/acp-layout-css.test.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
4+
import { uiPublicPath } from '../test-paths.mjs';
45

5-
const styles = fs.readFileSync('/Users/onur/repos/spritz/ui/public/styles.css', 'utf8');
6+
const styles = fs.readFileSync(uiPublicPath('styles.css'), 'utf8');
67

78
function getRule(selector) {
89
const escapedSelector = selector.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');

ui/public/acp-page-cache.test.mjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function createStorage(seed = {}) {
78
const values = new Map(Object.entries(seed));
@@ -110,10 +111,10 @@ function loadModules(storageSeed = {}, createACPClient = null) {
110111
window.window = window;
111112
const context = vm.createContext({ window, document, console, setTimeout, clearTimeout, URL, URLSearchParams });
112113
context.globalThis = context.window;
113-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-render.js', 'utf8'), context, {
114+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-render.js'), 'utf8'), context, {
114115
filename: 'acp-render.js',
115116
});
116-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-page.js', 'utf8'), context, {
117+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-page.js'), 'utf8'), context, {
117118
filename: 'acp-page.js',
118119
});
119120
return window;

ui/public/acp-page-layout.test.mjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function createElement(tagName) {
78
return {
@@ -75,9 +76,9 @@ function loadModules() {
7576
window.window = window;
7677
const context = vm.createContext({ window, document, console, setTimeout, clearTimeout });
7778
context.globalThis = context.window;
78-
const renderScript = fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-render.js', 'utf8');
79+
const renderScript = fs.readFileSync(uiPublicPath('acp-render.js'), 'utf8');
7980
vm.runInContext(renderScript, context, { filename: 'acp-render.js' });
80-
const pageScript = fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-page.js', 'utf8');
81+
const pageScript = fs.readFileSync(uiPublicPath('acp-page.js'), 'utf8');
8182
vm.runInContext(pageScript, context, { filename: 'acp-page.js' });
8283
return { window, document };
8384
}

ui/public/acp-page-notice.test.mjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function createElement(tagName) {
78
return {
@@ -64,10 +65,10 @@ function loadModules(createACPClient) {
6465
window.window = window;
6566
const context = vm.createContext({ window, document, console, setTimeout, clearTimeout, URL, URLSearchParams });
6667
context.globalThis = context.window;
67-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-render.js', 'utf8'), context, {
68+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-render.js'), 'utf8'), context, {
6869
filename: 'acp-render.js',
6970
});
70-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-page.js', 'utf8'), context, {
71+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-page.js'), 'utf8'), context, {
7172
filename: 'acp-page.js',
7273
});
7374
return window;

ui/public/acp-page-session-binding.test.mjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function createElement(tagName) {
78
const listeners = new Map();
@@ -81,10 +82,10 @@ function loadModules(createACPClient) {
8182
window.window = window;
8283
const context = vm.createContext({ window, document, console, setTimeout, clearTimeout, URL, URLSearchParams });
8384
context.globalThis = context.window;
84-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-render.js', 'utf8'), context, {
85+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-render.js'), 'utf8'), context, {
8586
filename: 'acp-render.js',
8687
});
87-
vm.runInContext(fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-page.js', 'utf8'), context, {
88+
vm.runInContext(fs.readFileSync(uiPublicPath('acp-page.js'), 'utf8'), context, {
8889
filename: 'acp-page.js',
8990
});
9091
return window;

ui/public/acp-render.test.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import test from 'node:test';
22
import assert from 'node:assert/strict';
33
import fs from 'node:fs';
44
import vm from 'node:vm';
5+
import { uiPublicPath } from '../test-paths.mjs';
56

67
function createElement(tagName) {
78
return {
@@ -50,7 +51,7 @@ function loadRenderModule() {
5051
window.window = window;
5152
const context = vm.createContext({ window, document, console });
5253
context.globalThis = context.window;
53-
const script = fs.readFileSync('/Users/onur/repos/spritz/ui/public/acp-render.js', 'utf8');
54+
const script = fs.readFileSync(uiPublicPath('acp-render.js'), 'utf8');
5455
vm.runInContext(script, context, { filename: 'acp-render.js' });
5556
return window.SpritzACPRender;
5657
}

0 commit comments

Comments
 (0)