const LoopBackContext = require('loopback-context'); const getAccessToken = (userId = 9) => { return {accessToken: {userId}}; }; const DEFAULT_HEADERS = {headers: {origin: 'http://localhost'}}; const default_before_all = userId => { return { req: { ...getAccessToken(userId), ...DEFAULT_HEADERS, ...{__: value => value} }, args: {} }; }; const default_loopback_ctx = userId => { return { ...getAccessToken(userId), ...default_before_all(userId), http: { ...default_before_all(userId) }, args: {} }; }; function vnBeforeAll() { Object.assign(beforeAll, {getCtx: default_before_all, mockLoopBackContext}); } const mockLoopBackContext = userId => { const activeCtx = default_loopback_ctx(userId); beforeAll(() => { spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({ active: activeCtx }); }); return activeCtx; }; module.exports = { mockLoopBackContext }; (function init() { vnBeforeAll(); })();