2023-11-30 14:15:19 +00:00

37 lines
1.0 KiB
JavaScript

const server = require('server');
const run = require('server/test/run');
const { get } = require('server/router');
const send = require('server/reply/send');
describe('static plugin', () => {
it('can handle sessions', async () => {
return run({ public: 'test' }, [
get('/a', ctx => {
ctx.session.page = 'pageA';
return send('');
}),
get('/b', ctx => send(ctx.session.page))
]).alive(async api => {
expect((await api.get('/a')).body).toEqual('');
expect((await api.get('/b')).body).toEqual('pageA');
});
});
it('persists the session', async () => {
const mid = ctx => {
ctx.session.counter = (ctx.session.counter || 0) + 1;
return 'n' + ctx.session.counter;
};
return run(mid).alive(async api => {
for (let i = 0; i < 3; i++) {
const res = await api.get('/');
expect(res.body).toBe('n' + (i + 1));
}
});
});
it('has the session for creating stores', () => {
expect(server.session).toHaveProperty('Store', jasmine.any(Function));
});
});