55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
|
|
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});
|
|
Object.assign(beforeAll, {mockLoopBackContext});
|
|
}
|
|
function mockBeforeAll(value = default_before_all) {
|
|
const origin = beforeAll.ctx;
|
|
Object.assign(origin, value);
|
|
return origin;
|
|
}
|
|
|
|
const mockLoopBackContext = userId => {
|
|
const activeCtx = default_loopback_ctx(userId);
|
|
beforeAll(() => {
|
|
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
|
|
active: activeCtx
|
|
});
|
|
});
|
|
return activeCtx;
|
|
};
|
|
module.exports = {
|
|
mockBeforeAll, mockLoopBackContext
|
|
};
|
|
|
|
(function init() {
|
|
vnBeforeAll();
|
|
})();
|