Files
lzstealth 3960931ebe
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m53s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 34s
Add onboarding weather and template gradients
2026-08-28 20:05:23 +01:00

25 lines
1.5 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
const adminPageScript = fs.readFileSync(require.resolve('../src/web/public/js/admin/admin-page.js'), 'utf8');
test('async save errors keep validation failures as warning toasts', () => {
assert.ok(adminPageScript.includes('function isWarningSaveError(error)'));
assert.ok(adminPageScript.includes('error.status = response.status;'));
assert.ok(adminPageScript.includes('var variant = isWarningSaveError(error) ? \'warning\' : \'danger\';'));
});
test('async save runs success hooks before redirecting close or new saves', () => {
assert.ok(adminPageScript.includes('var responseText = await response.text();'));
assert.ok(adminPageScript.includes('if (typeof settings.afterSuccess === \'function\')'));
assert.ok(adminPageScript.includes('clearFormDirty(form);'));
assert.ok(adminPageScript.includes("if (submitterValue === 'close' || submitterValue === 'new')"));
});
test('data-source toggles update in place instead of reloading the edit form', () => {
assert.ok(adminPageScript.includes('function updateDataSourceToggle(form, response)'));
assert.ok(adminPageScript.includes('data-async-data-source-toggle'));
assert.ok(adminPageScript.includes("showToast(message || (willEnable ? 'Data source enabled.' : 'Data source disabled.'), 'success')"));
assert.ok(!adminPageScript.includes("/^\\/data-sources\\/(?:api-sources|rss-feeds|weather)\\/\\d+$/.test(actionPath);"));
});