Release 2.8.0
This commit is contained in:
@@ -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);
|
||||
});
|
||||
Reference in New Issue
Block a user