@tramvai/test-mocks 2.70.1 → 2.72.3

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.
@@ -0,0 +1,24 @@
1
+ import noop from '@tinkoff/utils/function/noop';
2
+
3
+ const createMockLogger = () => {
4
+ const logger = {
5
+ trace: noop,
6
+ debug: noop,
7
+ info: noop,
8
+ warn: noop,
9
+ error: noop,
10
+ fatal: noop,
11
+ child: () => logger,
12
+ addBeforeReporter: noop,
13
+ setBeforeReporters: noop,
14
+ addReporter: noop,
15
+ setReporters: noop,
16
+ addFilter: noop,
17
+ setFilters: noop,
18
+ addExtension: noop,
19
+ setExtensions: noop,
20
+ };
21
+ return Object.assign(() => logger, logger);
22
+ };
23
+
24
+ export { createMockLogger };
package/lib/logger.js ADDED
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var noop = require('@tinkoff/utils/function/noop');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var noop__default = /*#__PURE__*/_interopDefaultLegacy(noop);
10
+
11
+ const createMockLogger = () => {
12
+ const logger = {
13
+ trace: noop__default["default"],
14
+ debug: noop__default["default"],
15
+ info: noop__default["default"],
16
+ warn: noop__default["default"],
17
+ error: noop__default["default"],
18
+ fatal: noop__default["default"],
19
+ child: () => logger,
20
+ addBeforeReporter: noop__default["default"],
21
+ setBeforeReporters: noop__default["default"],
22
+ addReporter: noop__default["default"],
23
+ setReporters: noop__default["default"],
24
+ addFilter: noop__default["default"],
25
+ setFilters: noop__default["default"],
26
+ addExtension: noop__default["default"],
27
+ setExtensions: noop__default["default"],
28
+ };
29
+ return Object.assign(() => logger, logger);
30
+ };
31
+
32
+ exports.createMockLogger = createMockLogger;
@@ -0,0 +1,18 @@
1
+ import { parse } from '@tinkoff/url';
2
+
3
+ const createMockRequestManager = ({ body = null, url = 'http://localhost', method = 'GET', cookies = {}, headers = {}, clientIp = '127.0.0.1', host = 'localhost', } = {}) => {
4
+ return {
5
+ getBody: () => body,
6
+ getUrl: () => url,
7
+ getParsedUrl: () => parse(url),
8
+ getMethod: () => method,
9
+ getCookie: (name) => cookies[name],
10
+ getCookies: () => cookies,
11
+ getHeader: (name) => headers[name],
12
+ getHeaders: () => headers,
13
+ getClientIp: () => clientIp,
14
+ getHost: () => host,
15
+ };
16
+ };
17
+
18
+ export { createMockRequestManager };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var url = require('@tinkoff/url');
6
+
7
+ const createMockRequestManager = ({ body = null, url: url$1 = 'http://localhost', method = 'GET', cookies = {}, headers = {}, clientIp = '127.0.0.1', host = 'localhost', } = {}) => {
8
+ return {
9
+ getBody: () => body,
10
+ getUrl: () => url$1,
11
+ getParsedUrl: () => url.parse(url$1),
12
+ getMethod: () => method,
13
+ getCookie: (name) => cookies[name],
14
+ getCookies: () => cookies,
15
+ getHeader: (name) => headers[name],
16
+ getHeaders: () => headers,
17
+ getClientIp: () => clientIp,
18
+ getHost: () => host,
19
+ };
20
+ };
21
+
22
+ exports.createMockRequestManager = createMockRequestManager;
@@ -0,0 +1,51 @@
1
+ import { AbstractRouter } from '@tinkoff/router';
2
+ import { parse } from '@tinkoff/url';
3
+
4
+ const createMockRouter = ({ currentRoute = { name: 'root', path: '/' }, currentUrl = parse(currentRoute.path), } = {}) => {
5
+ let route = {
6
+ params: {},
7
+ actualPath: currentRoute.path,
8
+ ...currentRoute,
9
+ };
10
+ let url = currentUrl;
11
+ let blocked = false;
12
+ return new (class extends AbstractRouter {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.onRedirect = async (navigation) => {
16
+ this.commitNavigation(navigation);
17
+ blocked = true;
18
+ };
19
+ }
20
+ getCurrentRoute() {
21
+ return route;
22
+ }
23
+ getCurrentUrl() {
24
+ return url;
25
+ }
26
+ getLastRoute() {
27
+ return route;
28
+ }
29
+ getLastUrl() {
30
+ return url;
31
+ }
32
+ resolveRoute() {
33
+ return route;
34
+ }
35
+ commitNavigation(navigation) {
36
+ var _a, _b, _c;
37
+ if (blocked) {
38
+ blocked = false;
39
+ return;
40
+ }
41
+ route = {
42
+ ...route,
43
+ name: 'changed-after-navigate',
44
+ path: (_b = (_a = navigation.url) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : route.path,
45
+ };
46
+ url = (_c = navigation.url) !== null && _c !== void 0 ? _c : url;
47
+ }
48
+ })({});
49
+ };
50
+
51
+ export { createMockRouter };
package/lib/router.js ADDED
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var router = require('@tinkoff/router');
6
+ var url = require('@tinkoff/url');
7
+
8
+ const createMockRouter = ({ currentRoute = { name: 'root', path: '/' }, currentUrl = url.parse(currentRoute.path), } = {}) => {
9
+ let route = {
10
+ params: {},
11
+ actualPath: currentRoute.path,
12
+ ...currentRoute,
13
+ };
14
+ let url = currentUrl;
15
+ let blocked = false;
16
+ return new (class extends router.AbstractRouter {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.onRedirect = async (navigation) => {
20
+ this.commitNavigation(navigation);
21
+ blocked = true;
22
+ };
23
+ }
24
+ getCurrentRoute() {
25
+ return route;
26
+ }
27
+ getCurrentUrl() {
28
+ return url;
29
+ }
30
+ getLastRoute() {
31
+ return route;
32
+ }
33
+ getLastUrl() {
34
+ return url;
35
+ }
36
+ resolveRoute() {
37
+ return route;
38
+ }
39
+ commitNavigation(navigation) {
40
+ var _a, _b, _c;
41
+ if (blocked) {
42
+ blocked = false;
43
+ return;
44
+ }
45
+ route = {
46
+ ...route,
47
+ name: 'changed-after-navigate',
48
+ path: (_b = (_a = navigation.url) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : route.path,
49
+ };
50
+ url = (_c = navigation.url) !== null && _c !== void 0 ? _c : url;
51
+ }
52
+ })({});
53
+ };
54
+
55
+ exports.createMockRouter = createMockRouter;
@@ -0,0 +1,32 @@
1
+ import keys from '@tinkoff/utils/object/keys';
2
+ import difference from '@tinkoff/utils/array/difference';
3
+ import { createReducer, createDispatcher } from '@tramvai/state';
4
+
5
+ /**
6
+ * Creates mock for a global app store
7
+ *
8
+ * @param stores - stores list
9
+ * @param initialState - initialState for store (!warning: in order to work, keys in initial state should match to names of the stores)
10
+ */
11
+ const createMockStore = ({ stores = [], initialState = {}, } = {}) => {
12
+ const mockStores = [];
13
+ const diffKeys = difference(keys(initialState), stores.map((store) => store.storeName));
14
+ for (const key of diffKeys) {
15
+ mockStores.push(createReducer(key, initialState[key]));
16
+ }
17
+ const dispatcherContext = createDispatcher({
18
+ stores: [...stores, ...mockStores],
19
+ }).createContext(null, {
20
+ stores: initialState,
21
+ });
22
+ return {
23
+ getState: dispatcherContext.getState.bind(dispatcherContext),
24
+ dispatch: dispatcherContext.dispatch.bind(dispatcherContext),
25
+ subscribe: dispatcherContext.subscribe.bind(dispatcherContext),
26
+ // @deprecated do not use this property
27
+ // @ts-ignore
28
+ __dispatcherContext__: dispatcherContext,
29
+ };
30
+ };
31
+
32
+ export { createMockStore };
package/lib/store.js ADDED
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var keys = require('@tinkoff/utils/object/keys');
6
+ var difference = require('@tinkoff/utils/array/difference');
7
+ var state = require('@tramvai/state');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var keys__default = /*#__PURE__*/_interopDefaultLegacy(keys);
12
+ var difference__default = /*#__PURE__*/_interopDefaultLegacy(difference);
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__default["default"](keys__default["default"](initialState), stores.map((store) => store.storeName));
23
+ for (const key of diffKeys) {
24
+ mockStores.push(state.createReducer(key, initialState[key]));
25
+ }
26
+ const dispatcherContext = state.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
+ exports.createMockStore = createMockStore;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/test-mocks",
3
- "version": "2.70.1",
3
+ "version": "2.72.3",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -13,22 +13,21 @@
13
13
  "url": "git@github.com:Tinkoff/tramvai.git"
14
14
  },
15
15
  "scripts": {
16
- "build": "tramvai-build --for-publish",
17
- "watch": "tsc -w",
18
- "build-for-publish": "true"
16
+ "build": "tramvai-build --forPublish --preserveModules",
17
+ "watch": "tsc -w"
19
18
  },
20
19
  "dependencies": {
21
- "@tramvai/core": "2.70.1",
22
- "@tinkoff/pubsub": "0.5.5",
23
- "@tinkoff/router": "0.2.7",
24
- "@tinkoff/url": "0.8.4",
25
- "@tramvai/module-cookie": "2.70.1",
26
- "@tramvai/module-common": "2.70.1",
27
- "@tramvai/state": "2.70.1",
28
- "@tramvai/tokens-common": "2.70.1"
20
+ "@tramvai/core": "2.72.3",
21
+ "@tinkoff/pubsub": "0.5.6",
22
+ "@tinkoff/router": "0.2.8",
23
+ "@tinkoff/url": "0.8.5",
24
+ "@tramvai/module-cookie": "2.72.3",
25
+ "@tramvai/module-common": "2.72.3",
26
+ "@tramvai/state": "2.72.3",
27
+ "@tramvai/tokens-common": "2.72.3"
29
28
  },
30
29
  "peerDependencies": {
31
- "@tinkoff/dippy": "0.8.12",
30
+ "@tinkoff/dippy": "0.8.13",
32
31
  "@tinkoff/utils": "^2.1.2",
33
32
  "tslib": "^2.4.0"
34
33
  },