nostalgia integration
All checks were successful
Zone / build (push) Successful in 11s

This commit is contained in:
2026-06-26 12:36:00 +01:00
parent d4f24eea6a
commit 9e182e01d6
3 changed files with 152 additions and 39 deletions

View File

@@ -74,6 +74,10 @@ test('manifest defines unique link and build ids', () => {
assert.ok(manifest.links.some(l => l.id === 'timesheet' && l.href === '/time-tracking/'));
assert.ok(manifest.builds.some(b => b.id === 'org_web'));
assert.ok(manifest.builds.some(b => b.id === 'emacs'));
assert.ok(manifest.builds.some(b => b.id === 'adventure_resources'));
assert.ok(manifest.builds.some(b => b.id === 'guacamole_start'));
assert.ok(manifest.builds.some(b => b.id === 'guacamole_stop'));
assert.ok(manifest.builds.some(b => b.id === 'nostalgia_prod'));
});
test('manifest build cards expose stable dom ids', () => {
@@ -88,6 +92,22 @@ test('manifest build cards expose stable dom ids', () => {
assert.equal(build.start.path, '/api/rerun-emacs');
assert.equal(build.lastRunKey, 'emacs');
}
if (build.id === 'adventure_resources') {
assert.equal(build.start.path, '/api/adventure/resources/free');
assert.equal(build.lastRunKey, 'adventure_resources');
}
if (build.id === 'guacamole_start') {
assert.equal(build.start.path, '/api/guacamole/start');
assert.equal(build.lastRunKey, 'guacamole_start');
}
if (build.id === 'guacamole_stop') {
assert.equal(build.start.path, '/api/guacamole/stop');
assert.equal(build.lastRunKey, 'guacamole_stop');
}
if (build.id === 'nostalgia_prod') {
assert.equal(build.start.path, '/api/nostalgia/production');
assert.equal(build.lastRunKey, 'nostalgia_prod');
}
}
});
@@ -101,7 +121,19 @@ test('dashboard module references manifest-driven API endpoints', () => {
'/api/build-web/status',
'/api/rerun-emacs',
'/api/rerun-emacs/logs',
'/api/rerun-emacs/status'
'/api/rerun-emacs/status',
'/api/adventure/resources/free',
'/api/adventure/resources/free/logs',
'/api/adventure/resources/free/status',
'/api/guacamole/start',
'/api/guacamole/start/logs',
'/api/guacamole/start/status',
'/api/guacamole/stop',
'/api/guacamole/stop/logs',
'/api/guacamole/stop/status',
'/api/nostalgia/production',
'/api/nostalgia/production/logs',
'/api/nostalgia/production/status'
];
for (const endpoint of expectedEndpoints) {
@@ -123,6 +155,7 @@ test('dashboard module references manifest-driven API endpoints', () => {
assert.match(dashboardJs, /data\/manifest\.json/);
assert.match(dashboardJs, /\/api\/zone\/status/);
assert.match(dashboardJs, /renderWidgets/);
assert.match(dashboardJs, /buildDomIds/);
assert.doesNotMatch(dashboardJs, /build-roam/);
assert.doesNotMatch(dashboardJs, /run-combined/);
});