@tramvai/test-mocks 2.70.1 → 2.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/CommonTestModule.es.js +81 -0
- package/lib/CommonTestModule.js +83 -0
- package/lib/appInfo.es.js +7 -0
- package/lib/appInfo.js +11 -0
- package/lib/cache.es.js +18 -0
- package/lib/cache.js +22 -0
- package/lib/context.es.js +62 -0
- package/lib/context.js +66 -0
- package/lib/cookie.es.js +19 -0
- package/lib/cookie.js +23 -0
- package/lib/di.es.js +25 -0
- package/lib/di.js +29 -0
- package/lib/envManager.es.js +14 -0
- package/lib/envManager.js +22 -0
- package/lib/index.es.js +11 -319
- package/lib/index.js +28 -334
- package/lib/logger.es.js +24 -0
- package/lib/logger.js +32 -0
- package/lib/requestManager.es.js +18 -0
- package/lib/requestManager.js +22 -0
- package/lib/router.es.js +51 -0
- package/lib/router.js +55 -0
- package/lib/store.es.js +32 -0
- package/lib/store.js +41 -0
- package/package.json +12 -13
package/lib/index.es.js
CHANGED
|
@@ -1,319 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import { __decorate } from 'tslib';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Creates mock for a global app store
|
|
16
|
-
*
|
|
17
|
-
* @param stores - stores list
|
|
18
|
-
* @param initialState - initialState for store (!warning: in order to work, keys in initial state should match to names of the stores)
|
|
19
|
-
*/
|
|
20
|
-
const createMockStore = ({ stores = [], initialState = {}, } = {}) => {
|
|
21
|
-
const mockStores = [];
|
|
22
|
-
const diffKeys = difference(keys(initialState), stores.map((store) => store.storeName));
|
|
23
|
-
for (const key of diffKeys) {
|
|
24
|
-
mockStores.push(createReducer(key, initialState[key]));
|
|
25
|
-
}
|
|
26
|
-
const dispatcherContext = createDispatcher({
|
|
27
|
-
stores: [...stores, ...mockStores],
|
|
28
|
-
}).createContext(null, {
|
|
29
|
-
stores: initialState,
|
|
30
|
-
});
|
|
31
|
-
return {
|
|
32
|
-
getState: dispatcherContext.getState.bind(dispatcherContext),
|
|
33
|
-
dispatch: dispatcherContext.dispatch.bind(dispatcherContext),
|
|
34
|
-
subscribe: dispatcherContext.subscribe.bind(dispatcherContext),
|
|
35
|
-
// @deprecated do not use this property
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
__dispatcherContext__: dispatcherContext,
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Создаёт di-сontainer
|
|
43
|
-
*
|
|
44
|
-
* @param modules - список модулей, провайдеры которых будут добавлены в создаваемый di-контейнер
|
|
45
|
-
* @param providers - список провайдеров, которые будут добавлены в создаваемый di-контейнер
|
|
46
|
-
*/
|
|
47
|
-
const createMockDi = ({ modules = [], providers = [] } = {}) => {
|
|
48
|
-
const di = createContainer();
|
|
49
|
-
const resolvedModules = walkOfModules(modules);
|
|
50
|
-
resolvedModules.forEach((mod) => {
|
|
51
|
-
const moduleParameters = getModuleParameters(mod);
|
|
52
|
-
moduleParameters.providers.forEach((provider) => {
|
|
53
|
-
di.register(provider);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
if (providers) {
|
|
57
|
-
providers.forEach((provider) => di.register(provider));
|
|
58
|
-
}
|
|
59
|
-
return di;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Создаёт мок для consumerContext
|
|
64
|
-
*
|
|
65
|
-
* @param stores - список сторов, которые будут переданы в createMockStore если явно не передавать store
|
|
66
|
-
* @param initialState - начальное состояние, которое будет передано в createMockStore если явно не передавать store
|
|
67
|
-
* @param store - глобальный стор приложения, по умолчанию используется результат createMockStore
|
|
68
|
-
* @param providers - список провайдеров, которые будут переданы в createMockDi если явно не передавать di
|
|
69
|
-
* @param modules - список модулей, провайдеры которых будут добавлены в создаваемый di-контейнер
|
|
70
|
-
* @param stores - di-контейнер, по умолчанию используется результат createMockDi
|
|
71
|
-
* @param useTramvaiActionsConditionals - добавляет встроенные в tramvai actions conditionals
|
|
72
|
-
*/
|
|
73
|
-
const createMockContext = ({ stores, initialState, store = createMockStore({ stores, initialState }), providers, modules, di = createMockDi({ providers, modules }), useTramvaiActionsConditionals = false, } = {}) => {
|
|
74
|
-
const { __dispatcherContext__: dispatcherContext } = store; // хак для получения уже созданного dispatcherContext в сторе
|
|
75
|
-
const pubsub = new PubSub();
|
|
76
|
-
di.register({
|
|
77
|
-
provide: STORE_TOKEN,
|
|
78
|
-
useValue: store,
|
|
79
|
-
});
|
|
80
|
-
if (!di.get({ token: ACTION_EXECUTION_TOKEN, optional: true })) {
|
|
81
|
-
if (useTramvaiActionsConditionals) {
|
|
82
|
-
di.register({
|
|
83
|
-
provide: ACTION_CONDITIONALS,
|
|
84
|
-
multi: true,
|
|
85
|
-
useValue: [alwaysCondition, onlyServer, onlyBrowser, pageServer, pageBrowser],
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
di.register({
|
|
89
|
-
provide: EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
90
|
-
useClass: ExecutionContextManager,
|
|
91
|
-
});
|
|
92
|
-
di.register({
|
|
93
|
-
provide: ACTION_EXECUTION_TOKEN,
|
|
94
|
-
useClass: ActionExecution,
|
|
95
|
-
deps: {
|
|
96
|
-
actionConditionals: { token: ACTION_CONDITIONALS, optional: true },
|
|
97
|
-
context: CONTEXT_TOKEN,
|
|
98
|
-
store: STORE_TOKEN,
|
|
99
|
-
di: DI_TOKEN,
|
|
100
|
-
transformAction: {
|
|
101
|
-
token: 'actionTransformAction',
|
|
102
|
-
optional: true,
|
|
103
|
-
},
|
|
104
|
-
executionContextManager: EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
const context = createConsumerContext({ store, pubsub, di, dispatcherContext });
|
|
109
|
-
di.register({
|
|
110
|
-
provide: CONTEXT_TOKEN,
|
|
111
|
-
useValue: context,
|
|
112
|
-
});
|
|
113
|
-
return context;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
const createMockRouter = ({ currentRoute = { name: 'root', path: '/' }, currentUrl = parse(currentRoute.path), } = {}) => {
|
|
117
|
-
let route = {
|
|
118
|
-
params: {},
|
|
119
|
-
actualPath: currentRoute.path,
|
|
120
|
-
...currentRoute,
|
|
121
|
-
};
|
|
122
|
-
let url = currentUrl;
|
|
123
|
-
let blocked = false;
|
|
124
|
-
return new (class extends AbstractRouter {
|
|
125
|
-
constructor() {
|
|
126
|
-
super(...arguments);
|
|
127
|
-
this.onRedirect = async (navigation) => {
|
|
128
|
-
this.commitNavigation(navigation);
|
|
129
|
-
blocked = true;
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
getCurrentRoute() {
|
|
133
|
-
return route;
|
|
134
|
-
}
|
|
135
|
-
getCurrentUrl() {
|
|
136
|
-
return url;
|
|
137
|
-
}
|
|
138
|
-
getLastRoute() {
|
|
139
|
-
return route;
|
|
140
|
-
}
|
|
141
|
-
getLastUrl() {
|
|
142
|
-
return url;
|
|
143
|
-
}
|
|
144
|
-
resolveRoute() {
|
|
145
|
-
return route;
|
|
146
|
-
}
|
|
147
|
-
commitNavigation(navigation) {
|
|
148
|
-
var _a, _b, _c;
|
|
149
|
-
if (blocked) {
|
|
150
|
-
blocked = false;
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
route = {
|
|
154
|
-
...route,
|
|
155
|
-
name: 'changed-after-navigate',
|
|
156
|
-
path: (_b = (_a = navigation.url) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : route.path,
|
|
157
|
-
};
|
|
158
|
-
url = (_c = navigation.url) !== null && _c !== void 0 ? _c : url;
|
|
159
|
-
}
|
|
160
|
-
})({});
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
const createMockEnvManager = (env = {}) => {
|
|
164
|
-
return {
|
|
165
|
-
get: (name) => env[name],
|
|
166
|
-
getInt: (name, def) => { var _a; return (_a = parseInt(env[name], 10)) !== null && _a !== void 0 ? _a : def; },
|
|
167
|
-
getAll: () => env,
|
|
168
|
-
update: noop,
|
|
169
|
-
clientUsed: () => env,
|
|
170
|
-
updateClientUsed: noop,
|
|
171
|
-
};
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
const createMockLogger = () => {
|
|
175
|
-
const logger = {
|
|
176
|
-
trace: noop,
|
|
177
|
-
debug: noop,
|
|
178
|
-
info: noop,
|
|
179
|
-
warn: noop,
|
|
180
|
-
error: noop,
|
|
181
|
-
fatal: noop,
|
|
182
|
-
child: () => logger,
|
|
183
|
-
addBeforeReporter: noop,
|
|
184
|
-
setBeforeReporters: noop,
|
|
185
|
-
addReporter: noop,
|
|
186
|
-
setReporters: noop,
|
|
187
|
-
addFilter: noop,
|
|
188
|
-
setFilters: noop,
|
|
189
|
-
addExtension: noop,
|
|
190
|
-
setExtensions: noop,
|
|
191
|
-
};
|
|
192
|
-
return Object.assign(() => logger, logger);
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
const createMockRequestManager = ({ body = null, url = 'http://localhost', method = 'GET', cookies = {}, headers = {}, clientIp = '127.0.0.1', host = 'localhost', } = {}) => {
|
|
196
|
-
return {
|
|
197
|
-
getBody: () => body,
|
|
198
|
-
getUrl: () => url,
|
|
199
|
-
getParsedUrl: () => parse(url),
|
|
200
|
-
getMethod: () => method,
|
|
201
|
-
getCookie: (name) => cookies[name],
|
|
202
|
-
getCookies: () => cookies,
|
|
203
|
-
getHeader: (name) => headers[name],
|
|
204
|
-
getHeaders: () => headers,
|
|
205
|
-
getClientIp: () => clientIp,
|
|
206
|
-
getHost: () => host,
|
|
207
|
-
};
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
const createMockAppInfo = ({ appName = 'test', } = {}) => {
|
|
211
|
-
return {
|
|
212
|
-
appName,
|
|
213
|
-
};
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
const createMockCache = (entries = {}) => {
|
|
217
|
-
let cache = { ...entries };
|
|
218
|
-
return {
|
|
219
|
-
has: (key) => !!cache[key],
|
|
220
|
-
get: (key) => cache[key],
|
|
221
|
-
set: (key, value) => {
|
|
222
|
-
cache[key] = value;
|
|
223
|
-
},
|
|
224
|
-
clear: () => {
|
|
225
|
-
cache = {};
|
|
226
|
-
},
|
|
227
|
-
// TODO: в @tinkoff/request- используются методы из lru-cache которых нету в Cache
|
|
228
|
-
// @ts-ignore
|
|
229
|
-
peek: (key) => cache[key],
|
|
230
|
-
};
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
const createMockCookieManager = (entries = {}) => {
|
|
234
|
-
const cookies = { ...entries };
|
|
235
|
-
return {
|
|
236
|
-
get(name) {
|
|
237
|
-
return cookies[name];
|
|
238
|
-
},
|
|
239
|
-
set({ name, value }) {
|
|
240
|
-
cookies[name] = value;
|
|
241
|
-
},
|
|
242
|
-
all() {
|
|
243
|
-
return cookies;
|
|
244
|
-
},
|
|
245
|
-
remove(name) {
|
|
246
|
-
delete cookies[name];
|
|
247
|
-
},
|
|
248
|
-
};
|
|
249
|
-
};
|
|
250
|
-
|
|
251
|
-
var CommonTestModule_1;
|
|
252
|
-
let CommonTestModule = CommonTestModule_1 = class CommonTestModule {
|
|
253
|
-
static forRoot(options) {
|
|
254
|
-
const providers = [];
|
|
255
|
-
const { env, cookies, onCacheCreated } = options;
|
|
256
|
-
if (env) {
|
|
257
|
-
providers.push({
|
|
258
|
-
provide: ENV_MANAGER_TOKEN,
|
|
259
|
-
useValue: createMockEnvManager(env),
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
if (cookies) {
|
|
263
|
-
providers.push({
|
|
264
|
-
provide: COOKIE_MANAGER_TOKEN,
|
|
265
|
-
useValue: createMockCookieManager(cookies),
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
if (onCacheCreated) {
|
|
269
|
-
providers.push({
|
|
270
|
-
provide: CREATE_CACHE_TOKEN,
|
|
271
|
-
useValue: () => {
|
|
272
|
-
const cache = createMockCache();
|
|
273
|
-
onCacheCreated(cache);
|
|
274
|
-
return cache;
|
|
275
|
-
},
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
return {
|
|
279
|
-
providers,
|
|
280
|
-
mainModule: CommonTestModule_1,
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
CommonTestModule = CommonTestModule_1 = __decorate([
|
|
285
|
-
Module({
|
|
286
|
-
providers: [
|
|
287
|
-
provide({
|
|
288
|
-
provide: ENV_MANAGER_TOKEN,
|
|
289
|
-
useValue: createMockEnvManager(),
|
|
290
|
-
}),
|
|
291
|
-
provide({
|
|
292
|
-
provide: LOGGER_TOKEN,
|
|
293
|
-
useValue: createMockLogger(),
|
|
294
|
-
}),
|
|
295
|
-
provide({
|
|
296
|
-
provide: APP_INFO_TOKEN,
|
|
297
|
-
useValue: createMockAppInfo(),
|
|
298
|
-
}),
|
|
299
|
-
provide({
|
|
300
|
-
provide: REQUEST_MANAGER_TOKEN,
|
|
301
|
-
useValue: createMockRequestManager(),
|
|
302
|
-
}),
|
|
303
|
-
provide({
|
|
304
|
-
provide: CREATE_CACHE_TOKEN,
|
|
305
|
-
useValue: () => createMockCache(),
|
|
306
|
-
}),
|
|
307
|
-
provide({
|
|
308
|
-
provide: COOKIE_MANAGER_TOKEN,
|
|
309
|
-
useValue: createMockCookieManager(),
|
|
310
|
-
}),
|
|
311
|
-
provide({
|
|
312
|
-
provide: CONTEXT_TOKEN,
|
|
313
|
-
useValue: createMockContext(),
|
|
314
|
-
}),
|
|
315
|
-
],
|
|
316
|
-
})
|
|
317
|
-
], CommonTestModule);
|
|
318
|
-
|
|
319
|
-
export { CommonTestModule, createMockAppInfo, createMockCache, createMockContext, createMockCookieManager, createMockDi, createMockEnvManager, createMockLogger, createMockRequestManager, createMockRouter, createMockStore };
|
|
1
|
+
export { createMockContext } from './context.es.js';
|
|
2
|
+
export { createMockDi } from './di.es.js';
|
|
3
|
+
export { createMockRouter } from './router.es.js';
|
|
4
|
+
export { createMockStore } from './store.es.js';
|
|
5
|
+
export { createMockEnvManager } from './envManager.es.js';
|
|
6
|
+
export { createMockLogger } from './logger.es.js';
|
|
7
|
+
export { createMockRequestManager } from './requestManager.es.js';
|
|
8
|
+
export { createMockAppInfo } from './appInfo.es.js';
|
|
9
|
+
export { createMockCache } from './cache.es.js';
|
|
10
|
+
export { createMockCookieManager } from './cookie.es.js';
|
|
11
|
+
export { CommonTestModule } from './CommonTestModule.es.js';
|
package/lib/index.js
CHANGED
|
@@ -2,337 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
for (const key of diffKeys) {
|
|
34
|
-
mockStores.push(state.createReducer(key, initialState[key]));
|
|
35
|
-
}
|
|
36
|
-
const dispatcherContext = state.createDispatcher({
|
|
37
|
-
stores: [...stores, ...mockStores],
|
|
38
|
-
}).createContext(null, {
|
|
39
|
-
stores: initialState,
|
|
40
|
-
});
|
|
41
|
-
return {
|
|
42
|
-
getState: dispatcherContext.getState.bind(dispatcherContext),
|
|
43
|
-
dispatch: dispatcherContext.dispatch.bind(dispatcherContext),
|
|
44
|
-
subscribe: dispatcherContext.subscribe.bind(dispatcherContext),
|
|
45
|
-
// @deprecated do not use this property
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
__dispatcherContext__: dispatcherContext,
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Создаёт di-сontainer
|
|
53
|
-
*
|
|
54
|
-
* @param modules - список модулей, провайдеры которых будут добавлены в создаваемый di-контейнер
|
|
55
|
-
* @param providers - список провайдеров, которые будут добавлены в создаваемый di-контейнер
|
|
56
|
-
*/
|
|
57
|
-
const createMockDi = ({ modules = [], providers = [] } = {}) => {
|
|
58
|
-
const di = dippy.createContainer();
|
|
59
|
-
const resolvedModules = core.walkOfModules(modules);
|
|
60
|
-
resolvedModules.forEach((mod) => {
|
|
61
|
-
const moduleParameters = core.getModuleParameters(mod);
|
|
62
|
-
moduleParameters.providers.forEach((provider) => {
|
|
63
|
-
di.register(provider);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
if (providers) {
|
|
67
|
-
providers.forEach((provider) => di.register(provider));
|
|
68
|
-
}
|
|
69
|
-
return di;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Создаёт мок для consumerContext
|
|
74
|
-
*
|
|
75
|
-
* @param stores - список сторов, которые будут переданы в createMockStore если явно не передавать store
|
|
76
|
-
* @param initialState - начальное состояние, которое будет передано в createMockStore если явно не передавать store
|
|
77
|
-
* @param store - глобальный стор приложения, по умолчанию используется результат createMockStore
|
|
78
|
-
* @param providers - список провайдеров, которые будут переданы в createMockDi если явно не передавать di
|
|
79
|
-
* @param modules - список модулей, провайдеры которых будут добавлены в создаваемый di-контейнер
|
|
80
|
-
* @param stores - di-контейнер, по умолчанию используется результат createMockDi
|
|
81
|
-
* @param useTramvaiActionsConditionals - добавляет встроенные в tramvai actions conditionals
|
|
82
|
-
*/
|
|
83
|
-
const createMockContext = ({ stores, initialState, store = createMockStore({ stores, initialState }), providers, modules, di = createMockDi({ providers, modules }), useTramvaiActionsConditionals = false, } = {}) => {
|
|
84
|
-
const { __dispatcherContext__: dispatcherContext } = store; // хак для получения уже созданного dispatcherContext в сторе
|
|
85
|
-
const pubsub$1 = new pubsub.PubSub();
|
|
86
|
-
di.register({
|
|
87
|
-
provide: tokensCommon.STORE_TOKEN,
|
|
88
|
-
useValue: store,
|
|
89
|
-
});
|
|
90
|
-
if (!di.get({ token: tokensCommon.ACTION_EXECUTION_TOKEN, optional: true })) {
|
|
91
|
-
if (useTramvaiActionsConditionals) {
|
|
92
|
-
di.register({
|
|
93
|
-
provide: tokensCommon.ACTION_CONDITIONALS,
|
|
94
|
-
multi: true,
|
|
95
|
-
useValue: [moduleCommon.alwaysCondition, moduleCommon.onlyServer, moduleCommon.onlyBrowser, moduleCommon.pageServer, moduleCommon.pageBrowser],
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
di.register({
|
|
99
|
-
provide: tokensCommon.EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
100
|
-
useClass: moduleCommon.ExecutionContextManager,
|
|
101
|
-
});
|
|
102
|
-
di.register({
|
|
103
|
-
provide: tokensCommon.ACTION_EXECUTION_TOKEN,
|
|
104
|
-
useClass: moduleCommon.ActionExecution,
|
|
105
|
-
deps: {
|
|
106
|
-
actionConditionals: { token: tokensCommon.ACTION_CONDITIONALS, optional: true },
|
|
107
|
-
context: tokensCommon.CONTEXT_TOKEN,
|
|
108
|
-
store: tokensCommon.STORE_TOKEN,
|
|
109
|
-
di: dippy.DI_TOKEN,
|
|
110
|
-
transformAction: {
|
|
111
|
-
token: 'actionTransformAction',
|
|
112
|
-
optional: true,
|
|
113
|
-
},
|
|
114
|
-
executionContextManager: tokensCommon.EXECUTION_CONTEXT_MANAGER_TOKEN,
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
const context = moduleCommon.createConsumerContext({ store, pubsub: pubsub$1, di, dispatcherContext });
|
|
119
|
-
di.register({
|
|
120
|
-
provide: tokensCommon.CONTEXT_TOKEN,
|
|
121
|
-
useValue: context,
|
|
122
|
-
});
|
|
123
|
-
return context;
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
const createMockRouter = ({ currentRoute = { name: 'root', path: '/' }, currentUrl = url.parse(currentRoute.path), } = {}) => {
|
|
127
|
-
let route = {
|
|
128
|
-
params: {},
|
|
129
|
-
actualPath: currentRoute.path,
|
|
130
|
-
...currentRoute,
|
|
131
|
-
};
|
|
132
|
-
let url = currentUrl;
|
|
133
|
-
let blocked = false;
|
|
134
|
-
return new (class extends router.AbstractRouter {
|
|
135
|
-
constructor() {
|
|
136
|
-
super(...arguments);
|
|
137
|
-
this.onRedirect = async (navigation) => {
|
|
138
|
-
this.commitNavigation(navigation);
|
|
139
|
-
blocked = true;
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
getCurrentRoute() {
|
|
143
|
-
return route;
|
|
144
|
-
}
|
|
145
|
-
getCurrentUrl() {
|
|
146
|
-
return url;
|
|
147
|
-
}
|
|
148
|
-
getLastRoute() {
|
|
149
|
-
return route;
|
|
150
|
-
}
|
|
151
|
-
getLastUrl() {
|
|
152
|
-
return url;
|
|
153
|
-
}
|
|
154
|
-
resolveRoute() {
|
|
155
|
-
return route;
|
|
156
|
-
}
|
|
157
|
-
commitNavigation(navigation) {
|
|
158
|
-
var _a, _b, _c;
|
|
159
|
-
if (blocked) {
|
|
160
|
-
blocked = false;
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
route = {
|
|
164
|
-
...route,
|
|
165
|
-
name: 'changed-after-navigate',
|
|
166
|
-
path: (_b = (_a = navigation.url) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : route.path,
|
|
167
|
-
};
|
|
168
|
-
url = (_c = navigation.url) !== null && _c !== void 0 ? _c : url;
|
|
169
|
-
}
|
|
170
|
-
})({});
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
const createMockEnvManager = (env = {}) => {
|
|
174
|
-
return {
|
|
175
|
-
get: (name) => env[name],
|
|
176
|
-
getInt: (name, def) => { var _a; return (_a = parseInt(env[name], 10)) !== null && _a !== void 0 ? _a : def; },
|
|
177
|
-
getAll: () => env,
|
|
178
|
-
update: noop__default["default"],
|
|
179
|
-
clientUsed: () => env,
|
|
180
|
-
updateClientUsed: noop__default["default"],
|
|
181
|
-
};
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
const createMockLogger = () => {
|
|
185
|
-
const logger = {
|
|
186
|
-
trace: noop__default["default"],
|
|
187
|
-
debug: noop__default["default"],
|
|
188
|
-
info: noop__default["default"],
|
|
189
|
-
warn: noop__default["default"],
|
|
190
|
-
error: noop__default["default"],
|
|
191
|
-
fatal: noop__default["default"],
|
|
192
|
-
child: () => logger,
|
|
193
|
-
addBeforeReporter: noop__default["default"],
|
|
194
|
-
setBeforeReporters: noop__default["default"],
|
|
195
|
-
addReporter: noop__default["default"],
|
|
196
|
-
setReporters: noop__default["default"],
|
|
197
|
-
addFilter: noop__default["default"],
|
|
198
|
-
setFilters: noop__default["default"],
|
|
199
|
-
addExtension: noop__default["default"],
|
|
200
|
-
setExtensions: noop__default["default"],
|
|
201
|
-
};
|
|
202
|
-
return Object.assign(() => logger, logger);
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
const createMockRequestManager = ({ body = null, url: url$1 = 'http://localhost', method = 'GET', cookies = {}, headers = {}, clientIp = '127.0.0.1', host = 'localhost', } = {}) => {
|
|
206
|
-
return {
|
|
207
|
-
getBody: () => body,
|
|
208
|
-
getUrl: () => url$1,
|
|
209
|
-
getParsedUrl: () => url.parse(url$1),
|
|
210
|
-
getMethod: () => method,
|
|
211
|
-
getCookie: (name) => cookies[name],
|
|
212
|
-
getCookies: () => cookies,
|
|
213
|
-
getHeader: (name) => headers[name],
|
|
214
|
-
getHeaders: () => headers,
|
|
215
|
-
getClientIp: () => clientIp,
|
|
216
|
-
getHost: () => host,
|
|
217
|
-
};
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
const createMockAppInfo = ({ appName = 'test', } = {}) => {
|
|
221
|
-
return {
|
|
222
|
-
appName,
|
|
223
|
-
};
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
const createMockCache = (entries = {}) => {
|
|
227
|
-
let cache = { ...entries };
|
|
228
|
-
return {
|
|
229
|
-
has: (key) => !!cache[key],
|
|
230
|
-
get: (key) => cache[key],
|
|
231
|
-
set: (key, value) => {
|
|
232
|
-
cache[key] = value;
|
|
233
|
-
},
|
|
234
|
-
clear: () => {
|
|
235
|
-
cache = {};
|
|
236
|
-
},
|
|
237
|
-
// TODO: в @tinkoff/request- используются методы из lru-cache которых нету в Cache
|
|
238
|
-
// @ts-ignore
|
|
239
|
-
peek: (key) => cache[key],
|
|
240
|
-
};
|
|
241
|
-
};
|
|
242
|
-
|
|
243
|
-
const createMockCookieManager = (entries = {}) => {
|
|
244
|
-
const cookies = { ...entries };
|
|
245
|
-
return {
|
|
246
|
-
get(name) {
|
|
247
|
-
return cookies[name];
|
|
248
|
-
},
|
|
249
|
-
set({ name, value }) {
|
|
250
|
-
cookies[name] = value;
|
|
251
|
-
},
|
|
252
|
-
all() {
|
|
253
|
-
return cookies;
|
|
254
|
-
},
|
|
255
|
-
remove(name) {
|
|
256
|
-
delete cookies[name];
|
|
257
|
-
},
|
|
258
|
-
};
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
var CommonTestModule_1;
|
|
262
|
-
exports.CommonTestModule = CommonTestModule_1 = class CommonTestModule {
|
|
263
|
-
static forRoot(options) {
|
|
264
|
-
const providers = [];
|
|
265
|
-
const { env, cookies, onCacheCreated } = options;
|
|
266
|
-
if (env) {
|
|
267
|
-
providers.push({
|
|
268
|
-
provide: tokensCommon.ENV_MANAGER_TOKEN,
|
|
269
|
-
useValue: createMockEnvManager(env),
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
if (cookies) {
|
|
273
|
-
providers.push({
|
|
274
|
-
provide: moduleCommon.COOKIE_MANAGER_TOKEN,
|
|
275
|
-
useValue: createMockCookieManager(cookies),
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
if (onCacheCreated) {
|
|
279
|
-
providers.push({
|
|
280
|
-
provide: tokensCommon.CREATE_CACHE_TOKEN,
|
|
281
|
-
useValue: () => {
|
|
282
|
-
const cache = createMockCache();
|
|
283
|
-
onCacheCreated(cache);
|
|
284
|
-
return cache;
|
|
285
|
-
},
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
return {
|
|
289
|
-
providers,
|
|
290
|
-
mainModule: CommonTestModule_1,
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
};
|
|
294
|
-
exports.CommonTestModule = CommonTestModule_1 = tslib.__decorate([
|
|
295
|
-
core.Module({
|
|
296
|
-
providers: [
|
|
297
|
-
core.provide({
|
|
298
|
-
provide: tokensCommon.ENV_MANAGER_TOKEN,
|
|
299
|
-
useValue: createMockEnvManager(),
|
|
300
|
-
}),
|
|
301
|
-
core.provide({
|
|
302
|
-
provide: tokensCommon.LOGGER_TOKEN,
|
|
303
|
-
useValue: createMockLogger(),
|
|
304
|
-
}),
|
|
305
|
-
core.provide({
|
|
306
|
-
provide: core.APP_INFO_TOKEN,
|
|
307
|
-
useValue: createMockAppInfo(),
|
|
308
|
-
}),
|
|
309
|
-
core.provide({
|
|
310
|
-
provide: tokensCommon.REQUEST_MANAGER_TOKEN,
|
|
311
|
-
useValue: createMockRequestManager(),
|
|
312
|
-
}),
|
|
313
|
-
core.provide({
|
|
314
|
-
provide: tokensCommon.CREATE_CACHE_TOKEN,
|
|
315
|
-
useValue: () => createMockCache(),
|
|
316
|
-
}),
|
|
317
|
-
core.provide({
|
|
318
|
-
provide: moduleCommon.COOKIE_MANAGER_TOKEN,
|
|
319
|
-
useValue: createMockCookieManager(),
|
|
320
|
-
}),
|
|
321
|
-
core.provide({
|
|
322
|
-
provide: tokensCommon.CONTEXT_TOKEN,
|
|
323
|
-
useValue: createMockContext(),
|
|
324
|
-
}),
|
|
325
|
-
],
|
|
326
|
-
})
|
|
327
|
-
], exports.CommonTestModule);
|
|
328
|
-
|
|
329
|
-
exports.createMockAppInfo = createMockAppInfo;
|
|
330
|
-
exports.createMockCache = createMockCache;
|
|
331
|
-
exports.createMockContext = createMockContext;
|
|
332
|
-
exports.createMockCookieManager = createMockCookieManager;
|
|
333
|
-
exports.createMockDi = createMockDi;
|
|
334
|
-
exports.createMockEnvManager = createMockEnvManager;
|
|
335
|
-
exports.createMockLogger = createMockLogger;
|
|
336
|
-
exports.createMockRequestManager = createMockRequestManager;
|
|
337
|
-
exports.createMockRouter = createMockRouter;
|
|
338
|
-
exports.createMockStore = createMockStore;
|
|
5
|
+
var context = require('./context.js');
|
|
6
|
+
var di = require('./di.js');
|
|
7
|
+
var router = require('./router.js');
|
|
8
|
+
var store = require('./store.js');
|
|
9
|
+
var envManager = require('./envManager.js');
|
|
10
|
+
var logger = require('./logger.js');
|
|
11
|
+
var requestManager = require('./requestManager.js');
|
|
12
|
+
var appInfo = require('./appInfo.js');
|
|
13
|
+
var cache = require('./cache.js');
|
|
14
|
+
var cookie = require('./cookie.js');
|
|
15
|
+
var CommonTestModule = require('./CommonTestModule.js');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
exports.createMockContext = context.createMockContext;
|
|
20
|
+
exports.createMockDi = di.createMockDi;
|
|
21
|
+
exports.createMockRouter = router.createMockRouter;
|
|
22
|
+
exports.createMockStore = store.createMockStore;
|
|
23
|
+
exports.createMockEnvManager = envManager.createMockEnvManager;
|
|
24
|
+
exports.createMockLogger = logger.createMockLogger;
|
|
25
|
+
exports.createMockRequestManager = requestManager.createMockRequestManager;
|
|
26
|
+
exports.createMockAppInfo = appInfo.createMockAppInfo;
|
|
27
|
+
exports.createMockCache = cache.createMockCache;
|
|
28
|
+
exports.createMockCookieManager = cookie.createMockCookieManager;
|
|
29
|
+
Object.defineProperty(exports, 'CommonTestModule', {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return CommonTestModule.CommonTestModule; }
|
|
32
|
+
});
|