mirror of
https://github.com/strapi/strapi.git
synced 2025-10-12 16:43:39 +00:00
33 lines
1000 B
JavaScript
33 lines
1000 B
JavaScript
'use strict';
|
|
|
|
/* eslint-env jest */
|
|
|
|
// Creates a mock for the callable SessionManager service.
|
|
// Returns { sessionManager, originApi } where:
|
|
// - sessionManager: jest.fn that returns originApi when called with an origin, and has root utilities attached
|
|
// - originApi: object with origin-scoped methods as jest.fn()
|
|
|
|
const createMockSessionManager = (originApiOverrides = {}, rootOverrides = {}) => {
|
|
const originApi = {
|
|
generateRefreshToken: jest.fn(),
|
|
generateAccessToken: jest.fn(),
|
|
validateAccessToken: jest.fn(),
|
|
validateRefreshToken: jest.fn(),
|
|
rotateRefreshToken: jest.fn(),
|
|
invalidateRefreshToken: jest.fn(),
|
|
isSessionActive: jest.fn(),
|
|
...originApiOverrides,
|
|
};
|
|
|
|
const sessionManager = Object.assign(jest.fn().mockReturnValue(originApi), {
|
|
defineOrigin: jest.fn(),
|
|
hasOrigin: jest.fn(),
|
|
generateSessionId: jest.fn(),
|
|
...rootOverrides,
|
|
});
|
|
|
|
return { sessionManager, originApi };
|
|
};
|
|
|
|
module.exports = { createMockSessionManager };
|