Release 2.8.0
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m49s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 32s

This commit is contained in:
2026-08-16 17:15:31 +01:00
parent 1bdc122995
commit 203d0bfc01
105 changed files with 4185 additions and 677 deletions
+32 -2
View File
@@ -8,10 +8,12 @@ const renderLoginPage = require('../src/web/routes/auth/login');
const { createSessionService, normalizeReturnToPath } = require('../src/web/lib/auth/session');
test('login page preserves the return target in a hidden field', () => {
const html = renderLoginPage('', '/slides/6/edit');
const html = renderLoginPage('', '/slides/6/edit', 'demo');
assert.match(html, /name="returnTo"/);
assert.match(html, /value="\/slides\/6\/edit"/);
assert.match(html, /name="remember_me"/);
assert.match(html, /name="username"[^>]*value="demo"/);
});
test('requireAuth preserves the original request path when redirecting to login', () => {
@@ -80,8 +82,10 @@ test('successful login returns to the requested link instead of the dashboard',
}
},
createUserSession: async () => 'session-token',
setSessionCookie(res, token) {
getSessionMaxAgeMs: async () => 7 * 24 * 60 * 60 * 1000,
setSessionCookie(res, token, maxAgeMs) {
res.sessionToken = token;
res.sessionMaxAgeMs = maxAgeMs;
},
clearSessionCookie() {},
parseCookies() {
@@ -126,5 +130,31 @@ test('successful login returns to the requested link instead of the dashboard',
await handlers['POST /login'][0](req, res, () => {});
assert.equal(res.sessionToken, 'session-token');
assert.equal(res.sessionMaxAgeMs, null);
assert.equal(res.redirectedTo, '/slides/6/edit?tab=content');
const rememberedRequest = {
body: {
username: 'demo',
password: 'secret',
remember_me: '1'
},
query: {}
};
const rememberedResponse = {
redirect(url) {
this.redirectedTo = url;
},
status() {
return this;
},
send(value) {
this.sentValue = value;
return this;
}
};
await handlers['POST /login'][0](rememberedRequest, rememberedResponse, () => {});
assert.equal(rememberedResponse.sessionMaxAgeMs, 7 * 24 * 60 * 60 * 1000);
});