@tomei/sso
Version:
Tomei SSO Package
48 lines (44 loc) • 1.59 kB
text/typescript
import { IUserSession } from '../../../src/interfaces/user-session.interface';
import { SessionService } from '../../../src/session/session.service';
require('dotenv').config()
describe('session.service', () => {
it('should return session service when instansiated', async () => {
const sessionService = await SessionService.init();
expect(sessionService).toBeDefined();
});
it('should able to write session data', async () => {
const data: IUserSession = {
systemLogins: [
{
id: '1',
code: 'EZC',
sessionId: 'test1',
privileges: ['PRIVILEGE1', 'PRIVILEGE2'],
},
],
};
const sessionService = await SessionService.init();
await sessionService.setUserSession("1", data)
const result = await sessionService.retrieveUserSession("1");
expect(result).toEqual(data);
});
it('should able to refresh session data', async () => {
const setUserSession = jest.spyOn(SessionService.prototype, 'setUserSession');
const retrieveUserSession = jest.spyOn(SessionService.prototype, 'retrieveUserSession');
const data: IUserSession = {
systemLogins: [
{
id: '1',
code: 'EZC',
sessionId: 'test1',
privileges: ['PRIVILEGE1', 'PRIVILEGE2'],
},
],
};
const sessionService = await SessionService.init();
await sessionService.setUserSession("1", data)
await sessionService.refreshDuration("1");
expect(setUserSession).toBeCalledTimes(2);
expect(retrieveUserSession).toBeCalledTimes(1);
});
});