@commercetools-frontend/application-shell 0.0.0-CRAFT-1791-20251006162610
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/LICENSE +21 -0
- package/README.md +7 -0
- package/dist/application-entry-point-10a5e1a5.esm.js +82 -0
- package/dist/application-entry-point-8c4b8e53.cjs.prod.js +86 -0
- package/dist/application-entry-point-c87294b0.cjs.dev.js +96 -0
- package/dist/box-09bf50e1.cjs.prod.js +30 -0
- package/dist/box-4857aa65.cjs.dev.js +30 -0
- package/dist/box-9cf180c1.esm.js +17 -0
- package/dist/cart-645074db.cjs.prod.js +30 -0
- package/dist/cart-b0044279.cjs.dev.js +30 -0
- package/dist/cart-bb491ca1.esm.js +17 -0
- package/dist/commercetools-frontend-application-shell.cjs.d.ts +2 -0
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +214 -0
- package/dist/commercetools-frontend-application-shell.cjs.js +7 -0
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +214 -0
- package/dist/commercetools-frontend-application-shell.esm.js +82 -0
- package/dist/connected-square-2d046cb8.cjs.prod.js +30 -0
- package/dist/connected-square-a2fea344.cjs.dev.js +30 -0
- package/dist/connected-square-fe6a790f.esm.js +17 -0
- package/dist/custom-view-dev-host-864a12e2.cjs.dev.js +197 -0
- package/dist/custom-view-dev-host-8e2f6aa7.cjs.prod.js +197 -0
- package/dist/custom-view-dev-host-d9c410aa.esm.js +186 -0
- package/dist/declarations/src/components/application-page-title/application-page-title.d.ts +24 -0
- package/dist/declarations/src/components/application-page-title/index.d.ts +1 -0
- package/dist/declarations/src/components/application-shell/application-shell.d.ts +45 -0
- package/dist/declarations/src/components/application-shell/index.d.ts +1 -0
- package/dist/declarations/src/components/application-shell-provider/application-shell-provider.d.ts +17 -0
- package/dist/declarations/src/components/application-shell-provider/index.d.ts +1 -0
- package/dist/declarations/src/components/application-shell-provider/utils.d.ts +3 -0
- package/dist/declarations/src/components/configure-intl-provider/configure-intl-provider.d.ts +12 -0
- package/dist/declarations/src/components/configure-intl-provider/index.d.ts +1 -0
- package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +12 -0
- package/dist/declarations/src/components/custom-view-shell/index.d.ts +1 -0
- package/dist/declarations/src/components/error-apologizer/index.d.ts +5 -0
- package/dist/declarations/src/components/fetch-user/fetch-user.d.ts +16 -0
- package/dist/declarations/src/components/fetch-user/index.d.ts +1 -0
- package/dist/declarations/src/components/inject-reducers/index.d.ts +1 -0
- package/dist/declarations/src/components/inject-reducers/inject-reducers.d.ts +13 -0
- package/dist/declarations/src/components/redirect-to-login/index.d.ts +5 -0
- package/dist/declarations/src/components/redirect-to-logout/index.d.ts +4 -0
- package/dist/declarations/src/components/route-catch-all/index.d.ts +2 -0
- package/dist/declarations/src/components/setup-flop-flip-provider/index.d.ts +1 -0
- package/dist/declarations/src/components/setup-flop-flip-provider/setup-flop-flip-provider.d.ts +17 -0
- package/dist/declarations/src/components/suspended-route/index.d.ts +3 -0
- package/dist/declarations/src/components/suspended-route/protected-route.d.ts +7 -0
- package/dist/declarations/src/components/suspended-route/suspended-protected-route.d.ts +7 -0
- package/dist/declarations/src/components/suspended-route/suspended-route.d.ts +10 -0
- package/dist/declarations/src/configure-store.d.ts +22 -0
- package/dist/declarations/src/export-types.d.ts +8 -0
- package/dist/declarations/src/hooks/use-routes-creator/index.d.ts +1 -0
- package/dist/declarations/src/hooks/use-routes-creator/use-routes-creator.d.ts +22 -0
- package/dist/declarations/src/index.d.ts +33 -0
- package/dist/declarations/src/ssr/index.d.ts +2 -0
- package/dist/declarations/src/test-utils/custom-views-utils.d.ts +21 -0
- package/dist/declarations/src/test-utils/index.d.ts +2 -0
- package/dist/declarations/src/test-utils/test-utils.d.ts +87 -0
- package/dist/declarations/src/types/generated/mc.d.ts +742 -0
- package/dist/declarations/src/utils/get-previous-project-key/get-previous-project-key.d.ts +2 -0
- package/dist/declarations/src/utils/get-previous-project-key/index.d.ts +1 -0
- package/dist/declarations/src/utils/oidc.d.ts +10 -0
- package/dist/declarations/src/utils/setup-global-error-listener/index.d.ts +1 -0
- package/dist/declarations/src/utils/setup-global-error-listener/setup-global-error-listener.d.ts +1 -0
- package/dist/declarations/src/version.d.ts +2 -0
- package/dist/declarations-connectors/dist/commercetools-frontend-application-shell-connectors.cjs.d.ts +2 -0
- package/dist/declarations-connectors/src/components/application-context/application-context.d.ts +109 -0
- package/dist/declarations-connectors/src/components/application-context/index.d.ts +10 -0
- package/dist/declarations-connectors/src/components/application-context/normalizers.d.ts +48 -0
- package/dist/declarations-connectors/src/components/custom-view-context/custom-view-context.d.ts +19 -0
- package/dist/declarations-connectors/src/components/custom-view-context/index.d.ts +4 -0
- package/dist/declarations-connectors/src/components/project-extension-image-regex/index.d.ts +3 -0
- package/dist/declarations-connectors/src/components/project-extension-image-regex/project-extension-image-regex.d.ts +37 -0
- package/dist/declarations-connectors/src/configure-apollo.d.ts +7 -0
- package/dist/declarations-connectors/src/export-types.d.ts +21 -0
- package/dist/declarations-connectors/src/hooks/apollo-hooks/apollo-hooks.d.ts +12 -0
- package/dist/declarations-connectors/src/hooks/apollo-hooks/index.d.ts +1 -0
- package/dist/declarations-connectors/src/hooks/custom-views/use-custom-view-parent-data-refresher.d.ts +5 -0
- package/dist/declarations-connectors/src/index.d.ts +12 -0
- package/dist/declarations-connectors/src/types/generated/mc.d.ts +742 -0
- package/dist/declarations-connectors/src/types/generated/settings.d.ts +2116 -0
- package/dist/declarations-connectors/src/utils/apollo-client-runtime-cache.d.ts +4 -0
- package/dist/declarations-connectors/src/utils/apollo-context.d.ts +16 -0
- package/dist/declarations-connectors/src/utils/get-correlation-id/get-correlation-id.d.ts +3 -0
- package/dist/declarations-connectors/src/utils/get-correlation-id/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/get-mc-api-url/get-mc-api-url.d.ts +3 -0
- package/dist/declarations-connectors/src/utils/get-mc-api-url/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/http-client.d.ts +107 -0
- package/dist/declarations-connectors/src/utils/index.d.ts +7 -0
- package/dist/declarations-connectors/src/utils/logger.d.ts +10 -0
- package/dist/declarations-connectors/src/utils/oidc-storage.d.ts +12 -0
- package/dist/declarations-connectors/src/utils/select-project-key-from-url/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-project-key-from-url/select-project-key-from-url.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-team-id-from-storage/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-team-id-from-storage/select-team-id-from-storage.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-user-id/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-user-id/select-user-id.d.ts +1 -0
- package/dist/declarations-connectors/src/version.d.ts +2 -0
- package/dist/error-apologizer-76f087f4.esm.js +39 -0
- package/dist/error-apologizer-84dc825c.cjs.prod.js +53 -0
- package/dist/error-apologizer-f6793491.cjs.dev.js +53 -0
- package/dist/gear-4f7cde98.cjs.prod.js +30 -0
- package/dist/gear-ee90ba83.esm.js +17 -0
- package/dist/gear-f2668579.cjs.dev.js +30 -0
- package/dist/get-mc-origin-8f7a578c.cjs.prod.js +51 -0
- package/dist/get-mc-origin-a86dff20.cjs.dev.js +51 -0
- package/dist/get-mc-origin-fecfee07.esm.js +44 -0
- package/dist/heart-01f01038.cjs.prod.js +30 -0
- package/dist/heart-86f780f3.esm.js +17 -0
- package/dist/heart-e49dd92a.cjs.dev.js +30 -0
- package/dist/index-245e2980.cjs.prod.js +237 -0
- package/dist/index-60cd194b.cjs.prod.js +2053 -0
- package/dist/index-614accc4.cjs.dev.js +237 -0
- package/dist/index-86039df7.esm.js +211 -0
- package/dist/index-8637a317.esm.js +2072 -0
- package/dist/index-f0f4fbcd.cjs.dev.js +2134 -0
- package/dist/list-with-search-027ab8eb.cjs.dev.js +30 -0
- package/dist/list-with-search-6462447e.cjs.prod.js +30 -0
- package/dist/list-with-search-d2901e34.esm.js +17 -0
- package/dist/location-537e0660.cjs.prod.js +32 -0
- package/dist/location-c835b8df.cjs.dev.js +32 -0
- package/dist/location-f21dbc25.esm.js +30 -0
- package/dist/navbar-022383bd.cjs.dev.js +1364 -0
- package/dist/navbar-844d350d.esm.js +1332 -0
- package/dist/navbar-acc2cd1b.cjs.prod.js +1225 -0
- package/dist/oidc-8827f9fe.cjs.dev.js +98 -0
- package/dist/oidc-b2520905.esm.js +84 -0
- package/dist/oidc-callback-2800b1f0.cjs.prod.js +243 -0
- package/dist/oidc-callback-5213e755.cjs.dev.js +246 -0
- package/dist/oidc-callback-619f18d9.esm.js +232 -0
- package/dist/oidc-d74e6aa2.cjs.prod.js +98 -0
- package/dist/paperclip-005ec544.cjs.dev.js +30 -0
- package/dist/paperclip-a820ee87.esm.js +17 -0
- package/dist/paperclip-fe72a70d.cjs.prod.js +30 -0
- package/dist/plugin-81ae1044.cjs.prod.js +30 -0
- package/dist/plugin-c7bf9e53.esm.js +17 -0
- package/dist/plugin-feb22442.cjs.dev.js +30 -0
- package/dist/project-container-22619059.cjs.prod.js +378 -0
- package/dist/project-container-96f2d671.cjs.dev.js +378 -0
- package/dist/project-container-ef2dfb60.esm.js +357 -0
- package/dist/project-expired-8c4cd8a0.cjs.dev.js +137 -0
- package/dist/project-expired-9994ed78.cjs.prod.js +137 -0
- package/dist/project-expired-dc881501.esm.js +123 -0
- package/dist/project-not-found-3933434f.cjs.prod.js +130 -0
- package/dist/project-not-found-3a76e8d7.cjs.dev.js +130 -0
- package/dist/project-not-found-57a3a216.esm.js +116 -0
- package/dist/project-not-initialized-2eebb2c7.esm.js +123 -0
- package/dist/project-not-initialized-3cfd0aed.cjs.dev.js +137 -0
- package/dist/project-not-initialized-91af2604.cjs.prod.js +137 -0
- package/dist/project-suspended-0c98a90e.cjs.dev.js +135 -0
- package/dist/project-suspended-dddbda8b.cjs.prod.js +135 -0
- package/dist/project-suspended-eeb5f62e.esm.js +121 -0
- package/dist/quick-access-1475bad4.cjs.dev.js +1893 -0
- package/dist/quick-access-ba70983f.cjs.prod.js +1875 -0
- package/dist/quick-access-d2f9b458.esm.js +1865 -0
- package/dist/redirect-to-login-12f467b8.cjs.prod.js +117 -0
- package/dist/redirect-to-login-2944c890.esm.js +115 -0
- package/dist/redirect-to-login-3bee13ba.cjs.dev.js +117 -0
- package/dist/redirect-to-logout-4587f4ed.cjs.dev.js +126 -0
- package/dist/redirect-to-logout-7bb3eb45.esm.js +113 -0
- package/dist/redirect-to-logout-a96985ce.cjs.prod.js +126 -0
- package/dist/redirect-to-project-create-9249e554.esm.js +60 -0
- package/dist/redirect-to-project-create-e4ff7797.cjs.prod.js +68 -0
- package/dist/redirect-to-project-create-f4f01842.cjs.dev.js +68 -0
- package/dist/redirector-0c72d0a4.cjs.prod.js +61 -0
- package/dist/redirector-72ccfbc2.cjs.dev.js +61 -0
- package/dist/redirector-d856975f.esm.js +46 -0
- package/dist/requests-in-flight-loader-0594117d.cjs.dev.js +122 -0
- package/dist/requests-in-flight-loader-59e8fb86.esm.js +107 -0
- package/dist/requests-in-flight-loader-a8288906.cjs.prod.js +122 -0
- package/dist/rocket-3372731a.cjs.dev.js +30 -0
- package/dist/rocket-bacf24be.esm.js +17 -0
- package/dist/rocket-cb99be06.cjs.prod.js +30 -0
- package/dist/route-catch-all-7803b1fd.esm.js +42 -0
- package/dist/route-catch-all-8e71a93c.cjs.prod.js +44 -0
- package/dist/route-catch-all-b979e1fd.cjs.dev.js +44 -0
- package/dist/service-page-project-switcher-37faf2fb.cjs.prod.js +37 -0
- package/dist/service-page-project-switcher-47296fb1.esm.js +39 -0
- package/dist/service-page-project-switcher-6cdff717.cjs.dev.js +45 -0
- package/dist/speedometer-26f52e73.cjs.prod.js +30 -0
- package/dist/speedometer-4c8e0b9c.esm.js +17 -0
- package/dist/speedometer-c1ec5a1d.cjs.dev.js +30 -0
- package/dist/star-6b9a91d2.cjs.dev.js +30 -0
- package/dist/star-af90a9c6.esm.js +17 -0
- package/dist/star-e4902bbb.cjs.prod.js +30 -0
- package/dist/tag-multi-1c065f61.cjs.prod.js +30 -0
- package/dist/tag-multi-4c2742de.esm.js +17 -0
- package/dist/tag-multi-abef3e15.cjs.dev.js +30 -0
- package/dist/tree-structure-3ec98cce.cjs.prod.js +30 -0
- package/dist/tree-structure-96ab0b7e.cjs.dev.js +30 -0
- package/dist/tree-structure-ca0498a0.esm.js +17 -0
- package/dist/use-applications-menu-14a5a1f4.cjs.prod.js +172 -0
- package/dist/use-applications-menu-1514af11.esm.js +157 -0
- package/dist/use-applications-menu-823a2492.cjs.dev.js +172 -0
- package/dist/use-is-served-by-proxy-28f19a6f.cjs.dev.js +10 -0
- package/dist/use-is-served-by-proxy-480e8de8.cjs.prod.js +10 -0
- package/dist/use-is-served-by-proxy-a383da4b.esm.js +8 -0
- package/dist/user-filled-26f333b2.cjs.prod.js +30 -0
- package/dist/user-filled-34aeebcc.cjs.dev.js +30 -0
- package/dist/user-filled-61d8a81b.esm.js +17 -0
- package/dist/user-settings-menu-6113cdd3.cjs.dev.js +338 -0
- package/dist/user-settings-menu-d75f4958.cjs.prod.js +326 -0
- package/dist/user-settings-menu-f98bea89.esm.js +313 -0
- package/dist/world-22189397.cjs.prod.js +30 -0
- package/dist/world-500baeb2.cjs.dev.js +30 -0
- package/dist/world-523efd61.esm.js +17 -0
- package/package.json +144 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.d.ts +2 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +20 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.js +7 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +20 -0
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +4 -0
- package/ssr/package.json +4 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.d.ts +2 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +554 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.js +7 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +554 -0
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +502 -0
- package/test-utils/package.json +4 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
6
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
7
|
+
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
8
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
9
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
10
|
+
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
11
|
+
var _flagsInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flags');
|
|
12
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
13
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
14
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
15
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
16
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
17
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
18
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
19
|
+
var react = require('react');
|
|
20
|
+
var react$1 = require('@apollo/client/react');
|
|
21
|
+
var testing = require('@apollo/client/testing');
|
|
22
|
+
var reactBroadcast = require('@flopflip/react-broadcast');
|
|
23
|
+
var rtl = require('@testing-library/react');
|
|
24
|
+
var history$1 = require('history');
|
|
25
|
+
var reactIntl = require('react-intl');
|
|
26
|
+
var reactRedux = require('react-redux');
|
|
27
|
+
var reactRouterDom = require('react-router-dom');
|
|
28
|
+
var invariant = require('tiny-invariant');
|
|
29
|
+
var ssr = require('@commercetools-frontend/application-config/ssr');
|
|
30
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
31
|
+
var history = require('@commercetools-frontend/browser-history');
|
|
32
|
+
var constants = require('@commercetools-frontend/constants');
|
|
33
|
+
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
34
|
+
var testUtils = require('@commercetools-frontend/sdk/test-utils');
|
|
35
|
+
var applicationEntryPoint = require('../../dist/application-entry-point-c87294b0.cjs.dev.js');
|
|
36
|
+
var index = require('../../dist/index-614accc4.cjs.dev.js');
|
|
37
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
38
|
+
require('@commercetools-frontend/application-components');
|
|
39
|
+
require('@commercetools-frontend/permissions');
|
|
40
|
+
require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
41
|
+
require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
42
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
43
|
+
require('@babel/runtime-corejs3/core-js-stable/reflect/has');
|
|
44
|
+
require('@reduxjs/toolkit');
|
|
45
|
+
require('lodash/mapValues');
|
|
46
|
+
require('omit-empty-es');
|
|
47
|
+
require('redux');
|
|
48
|
+
require('redux-thunk');
|
|
49
|
+
require('@commercetools-frontend/notifications');
|
|
50
|
+
require('@commercetools-frontend/sdk');
|
|
51
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
52
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/slice');
|
|
53
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
54
|
+
require('@commercetools-frontend/sentry');
|
|
55
|
+
require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
56
|
+
require('redux-logger');
|
|
57
|
+
|
|
58
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
59
|
+
|
|
60
|
+
function _interopNamespace(e) {
|
|
61
|
+
if (e && e.__esModule) return e;
|
|
62
|
+
var n = Object.create(null);
|
|
63
|
+
if (e) {
|
|
64
|
+
Object.keys(e).forEach(function (k) {
|
|
65
|
+
if (k !== 'default') {
|
|
66
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
67
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () { return e[k]; }
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
n["default"] = e;
|
|
75
|
+
return Object.freeze(n);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
79
|
+
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
80
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
81
|
+
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
82
|
+
var _flagsInstanceProperty__default = /*#__PURE__*/_interopDefault(_flagsInstanceProperty);
|
|
83
|
+
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
84
|
+
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
85
|
+
var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
|
|
86
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
87
|
+
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
88
|
+
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
89
|
+
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
90
|
+
var rtl__namespace = /*#__PURE__*/_interopNamespace(rtl);
|
|
91
|
+
var invariant__default = /*#__PURE__*/_interopDefault(invariant);
|
|
92
|
+
|
|
93
|
+
const _excluded = ["children"],
|
|
94
|
+
_excluded2 = ["children"];
|
|
95
|
+
function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
96
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context8 = ownKeys$1(Object(t), !0)).call(_context8, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context9 = ownKeys$1(Object(t))).call(_context9, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
97
|
+
const defaultProject = {
|
|
98
|
+
key: 'test-with-big-data',
|
|
99
|
+
version: 43,
|
|
100
|
+
name: 'Test with big data',
|
|
101
|
+
countries: ['de', 'en'],
|
|
102
|
+
currencies: ['EUR', 'GBP'],
|
|
103
|
+
languages: ['de', 'en-GB', 'en'],
|
|
104
|
+
owner: {
|
|
105
|
+
id: 'organization-id-1',
|
|
106
|
+
name: 'Organization Name'
|
|
107
|
+
},
|
|
108
|
+
initialized: true,
|
|
109
|
+
expiry: {
|
|
110
|
+
isActive: false,
|
|
111
|
+
daysLeft: undefined
|
|
112
|
+
},
|
|
113
|
+
suspension: {
|
|
114
|
+
isActive: false,
|
|
115
|
+
reason: undefined
|
|
116
|
+
},
|
|
117
|
+
isProductionProject: false,
|
|
118
|
+
allAppliedPermissions: [],
|
|
119
|
+
allAppliedActionRights: [],
|
|
120
|
+
allAppliedDataFences: [],
|
|
121
|
+
allPermissionsForAllApplications: {
|
|
122
|
+
allAppliedPermissions: [],
|
|
123
|
+
allAppliedActionRights: [],
|
|
124
|
+
allAppliedDataFences: [],
|
|
125
|
+
allAppliedMenuVisibilities: []
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const defaultUser = {
|
|
129
|
+
id: 'user-id-1',
|
|
130
|
+
email: 'sheldon.cooper@caltech.edu',
|
|
131
|
+
createdAt: '2020-01-01T12:29:33.916Z',
|
|
132
|
+
firstName: 'Sheldon',
|
|
133
|
+
lastName: 'Cooper',
|
|
134
|
+
language: 'en',
|
|
135
|
+
timeZone: 'Etc/UTC',
|
|
136
|
+
numberFormat: 'en',
|
|
137
|
+
defaultProjectKey: defaultProject.key,
|
|
138
|
+
businessRole: 'Other',
|
|
139
|
+
projects: {
|
|
140
|
+
total: 1,
|
|
141
|
+
results: [defaultProject]
|
|
142
|
+
},
|
|
143
|
+
gravatarHash: 'aaa',
|
|
144
|
+
launchdarklyTrackingGroup: 'commercetools',
|
|
145
|
+
launchdarklyTrackingSubgroup: 'dev',
|
|
146
|
+
launchdarklyTrackingId: '111',
|
|
147
|
+
launchdarklyTrackingTeam: undefined,
|
|
148
|
+
launchdarklyTrackingCloudEnvironment: 'ctp_production_gcp_europe-west1_v1'
|
|
149
|
+
};
|
|
150
|
+
const defaultEnvironment = {
|
|
151
|
+
applicationId: '__local',
|
|
152
|
+
applicationName: 'my-app',
|
|
153
|
+
entryPointUriPath: 'random-entry-point',
|
|
154
|
+
frontendHost: 'localhost:3001',
|
|
155
|
+
mcApiUrl: 'https://mc-api.europe-west1.gcp.commercetools.com',
|
|
156
|
+
location: 'eu',
|
|
157
|
+
env: 'production',
|
|
158
|
+
cdnUrl: 'http://localhost:3001',
|
|
159
|
+
servedByProxy: false
|
|
160
|
+
};
|
|
161
|
+
const LoadingFallback = () => jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
162
|
+
children: 'Loading...'
|
|
163
|
+
});
|
|
164
|
+
LoadingFallback.displayName = 'LoadingFallback';
|
|
165
|
+
|
|
166
|
+
// For backwards compatibility we need to denormalize the given `permissions` option
|
|
167
|
+
// (which is now deprecated) to `allAppliedPermissions`, in order to pass the value
|
|
168
|
+
// to the `project` prop in the application context provider.
|
|
169
|
+
|
|
170
|
+
const denormalizePermissions = permissions => {
|
|
171
|
+
var _context;
|
|
172
|
+
if (!permissions) return [];
|
|
173
|
+
return _reduceInstanceProperty__default["default"](_context = _Object$keys__default["default"](permissions)).call(_context, (allAppliedPermissions, permissionKey) => [...allAppliedPermissions, {
|
|
174
|
+
name: permissionKey,
|
|
175
|
+
value: permissions[permissionKey]
|
|
176
|
+
}], []);
|
|
177
|
+
};
|
|
178
|
+
// For backwards compatibility we need to denormalize the given `actionRights` option
|
|
179
|
+
// (which is now deprecated) to `allAppliedActionRights`, in order to pass the value
|
|
180
|
+
// to the `project` prop in the application context provider.
|
|
181
|
+
|
|
182
|
+
const denormalizeActionRights = actionRights => {
|
|
183
|
+
var _context2;
|
|
184
|
+
if (!actionRights) return [];
|
|
185
|
+
return _reduceInstanceProperty__default["default"](_context2 = _Object$keys__default["default"](actionRights)).call(_context2, (allAppliedActionRights, actionRightGroup) => {
|
|
186
|
+
var _context3;
|
|
187
|
+
return [...allAppliedActionRights, ..._reduceInstanceProperty__default["default"](_context3 = _Object$keys__default["default"](actionRights[actionRightGroup])).call(_context3, (allActionRightsByGroup, actionRightKey) => [...allActionRightsByGroup, {
|
|
188
|
+
group: actionRightGroup,
|
|
189
|
+
name: actionRightKey,
|
|
190
|
+
value: actionRights[actionRightGroup][actionRightKey]
|
|
191
|
+
}], [])];
|
|
192
|
+
}, []);
|
|
193
|
+
};
|
|
194
|
+
// For backwards compatibility we need to denormalize the given `dataFences` option
|
|
195
|
+
// (which is now deprecated) to `allAppliedDataFences`, in order to pass the value
|
|
196
|
+
// to the `project` prop in the application context provider.
|
|
197
|
+
|
|
198
|
+
const denormalizeDataFences = dataFences => {
|
|
199
|
+
var _context4;
|
|
200
|
+
if (!dataFences) return [];
|
|
201
|
+
return _reduceInstanceProperty__default["default"](_context4 = _Object$keys__default["default"](dataFences)).call(_context4, (allAppliedDataFences, dataFenceGroupKey) => {
|
|
202
|
+
var _context5;
|
|
203
|
+
switch (dataFenceGroupKey) {
|
|
204
|
+
case 'store':
|
|
205
|
+
return [...allAppliedDataFences, ..._reduceInstanceProperty__default["default"](_context5 = _Object$keys__default["default"](dataFences.store)).call(_context5, (allResources, resourceType) => {
|
|
206
|
+
var _context6;
|
|
207
|
+
return [...allResources, ..._reduceInstanceProperty__default["default"](_context6 = _Object$keys__default["default"](dataFences.store[resourceType])).call(_context6, (allPermissions, permissionKey) => {
|
|
208
|
+
var _context7;
|
|
209
|
+
return [...allPermissions, ..._mapInstanceProperty__default["default"](_context7 = _valuesInstanceProperty__default["default"](dataFences.store[resourceType][permissionKey])).call(_context7, value => ({
|
|
210
|
+
__typename: 'StoreDataFence',
|
|
211
|
+
type: 'store',
|
|
212
|
+
value,
|
|
213
|
+
group: resourceType,
|
|
214
|
+
name: permissionKey
|
|
215
|
+
}))];
|
|
216
|
+
}, [])];
|
|
217
|
+
}, [])];
|
|
218
|
+
default:
|
|
219
|
+
return allAppliedDataFences;
|
|
220
|
+
}
|
|
221
|
+
}, []);
|
|
222
|
+
};
|
|
223
|
+
const mapResourceAccessToAppliedPermissions = resourceAccesses => _mapInstanceProperty__default["default"](resourceAccesses).call(resourceAccesses, resourceAccess => ({
|
|
224
|
+
name: `can${resourceAccess}`,
|
|
225
|
+
value: true
|
|
226
|
+
}));
|
|
227
|
+
const wrapIfNeeded = (children, wrapper) => wrapper ? /*#__PURE__*/react.createElement(wrapper, null, children) : children;
|
|
228
|
+
const ApolloProviderWrapper = props => {
|
|
229
|
+
const apolloClient = props.apolloClient ?? applicationShellConnectors.createApolloClient();
|
|
230
|
+
const enableApolloMocks = Boolean(props.mocks && props.mocks.length > 0);
|
|
231
|
+
if (!enableApolloMocks) {
|
|
232
|
+
return (
|
|
233
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
234
|
+
jsxRuntime.jsx(react$1.ApolloProvider, {
|
|
235
|
+
client: apolloClient,
|
|
236
|
+
children: props.children
|
|
237
|
+
})
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
return jsxRuntime.jsx(testing.MockedProvider, {
|
|
241
|
+
mocks: props.mocks
|
|
242
|
+
// The `addTypename` field is a private field of the cache in TS
|
|
243
|
+
// but we should be able to still access it.
|
|
244
|
+
// This is to ensure the `addTypename` behavior is the same between the
|
|
245
|
+
// Apollo cache and the mocked provider.
|
|
246
|
+
// @ts-expect-error
|
|
247
|
+
,
|
|
248
|
+
addTypename: apolloClient.cache.addTypename ?? true,
|
|
249
|
+
cache: apolloClient.cache,
|
|
250
|
+
children: props.children
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
// This function renders any component within the application context, as if it
|
|
255
|
+
// was rendered inside <ApplicationShell />.
|
|
256
|
+
// The context is not completely set up yet, some things are missing:
|
|
257
|
+
// - Tracking on context
|
|
258
|
+
// - react-intl's information from addLocaleData
|
|
259
|
+
// - possibly more that I'm not aware of right now
|
|
260
|
+
//
|
|
261
|
+
// We can add these things as we go and when we need them.
|
|
262
|
+
|
|
263
|
+
function createApplicationProviders() {
|
|
264
|
+
let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
265
|
+
_ref$disableAutomatic = _ref.disableAutomaticEntryPointRoutes,
|
|
266
|
+
disableAutomaticEntryPointRoutes = _ref$disableAutomatic === void 0 ? false : _ref$disableAutomatic,
|
|
267
|
+
_ref$disableRoutePerm = _ref.disableRoutePermissionCheck,
|
|
268
|
+
disableRoutePermissionCheck = _ref$disableRoutePerm === void 0 ? false : _ref$disableRoutePerm,
|
|
269
|
+
_ref$locale = _ref.locale,
|
|
270
|
+
locale = _ref$locale === void 0 ? 'en' : _ref$locale,
|
|
271
|
+
mocks = _ref.mocks,
|
|
272
|
+
apolloClient = _ref.apolloClient,
|
|
273
|
+
route = _ref.route,
|
|
274
|
+
history$2 = _ref.history,
|
|
275
|
+
_ref$flags = _flagsInstanceProperty__default["default"](_ref),
|
|
276
|
+
flags = _ref$flags === void 0 ? {} : _ref$flags,
|
|
277
|
+
environment = _ref.environment,
|
|
278
|
+
user = _ref.user,
|
|
279
|
+
project = _ref.project,
|
|
280
|
+
_ref$dataLocale = _ref.dataLocale,
|
|
281
|
+
dataLocale = _ref$dataLocale === void 0 ? 'en' : _ref$dataLocale;
|
|
282
|
+
const mergedUser = user === null ? undefined : _objectSpread$1(_objectSpread$1({}, defaultUser), user);
|
|
283
|
+
const mergedProject = project === null ? undefined : _objectSpread$1(_objectSpread$1({}, defaultProject), project);
|
|
284
|
+
const mergedEnvironment = _objectSpread$1(_objectSpread$1({}, defaultEnvironment), environment);
|
|
285
|
+
|
|
286
|
+
// Provide default permissions to render the application route.
|
|
287
|
+
if (mergedProject) {
|
|
288
|
+
if (mergedProject.allAppliedPermissions.length === 0) {
|
|
289
|
+
const defaultPermissionKeys = ssr.entryPointUriPathToPermissionKeys(mergedEnvironment.entryPointUriPath);
|
|
290
|
+
mergedProject.allAppliedPermissions = mapResourceAccessToAppliedPermissions([defaultPermissionKeys.View]);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
let initialRoute = route;
|
|
294
|
+
if (!route && mergedProject) {
|
|
295
|
+
initialRoute = `/${mergedProject.key}/${mergedEnvironment.entryPointUriPath}`;
|
|
296
|
+
}
|
|
297
|
+
const memoryHistory = history$2 ?? history.createEnhancedHistory(history$1.createMemoryHistory({
|
|
298
|
+
initialEntries: [initialRoute || '/'],
|
|
299
|
+
getUserConfirmation: (_message, callback) => callback(true)
|
|
300
|
+
}));
|
|
301
|
+
const ApplicationProviders = props => jsxRuntime.jsx(reactIntl.IntlProvider, {
|
|
302
|
+
locale: locale,
|
|
303
|
+
children: jsxRuntime.jsx(ApolloProviderWrapper, {
|
|
304
|
+
apolloClient: apolloClient,
|
|
305
|
+
mocks: mocks,
|
|
306
|
+
children: jsxRuntime.jsx(reactBroadcast.TestProviderFlopFlip, {
|
|
307
|
+
flags: flags,
|
|
308
|
+
children: jsxRuntime.jsx(applicationShellConnectors.ApplicationContextProvider, {
|
|
309
|
+
user: mergedUser,
|
|
310
|
+
project: mergedProject,
|
|
311
|
+
environment: mergedEnvironment,
|
|
312
|
+
projectDataLocale: dataLocale,
|
|
313
|
+
children: jsxRuntime.jsx(reactRouterDom.Router, {
|
|
314
|
+
history: memoryHistory,
|
|
315
|
+
children: jsxRuntime.jsx(react.Suspense, {
|
|
316
|
+
fallback: jsxRuntime.jsx(LoadingFallback, {}),
|
|
317
|
+
children: jsxRuntime.jsx(applicationEntryPoint.ApplicationEntryPoint, {
|
|
318
|
+
environment: mergedEnvironment,
|
|
319
|
+
disableRoutePermissionCheck: disableRoutePermissionCheck,
|
|
320
|
+
render: disableAutomaticEntryPointRoutes ?
|
|
321
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
322
|
+
() => jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
323
|
+
children: props.children
|
|
324
|
+
}) : undefined,
|
|
325
|
+
children: disableAutomaticEntryPointRoutes ? undefined :
|
|
326
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
327
|
+
props.children
|
|
328
|
+
})
|
|
329
|
+
})
|
|
330
|
+
})
|
|
331
|
+
})
|
|
332
|
+
})
|
|
333
|
+
})
|
|
334
|
+
});
|
|
335
|
+
return {
|
|
336
|
+
ApplicationProviders,
|
|
337
|
+
mergedUser,
|
|
338
|
+
mergedProject,
|
|
339
|
+
mergedEnvironment,
|
|
340
|
+
history: memoryHistory
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
// Inspired by
|
|
345
|
+
// https://github.com/kentcdodds/react-testing-library-course/blob/2a5b1560656790bb1d9c055fba3845780b2c2c97/src/__tests__/react-router-03.js
|
|
346
|
+
function renderApp(ui) {
|
|
347
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
348
|
+
const _createApplicationPro = createApplicationProviders(options),
|
|
349
|
+
ApplicationProviders = _createApplicationPro.ApplicationProviders,
|
|
350
|
+
mergedUser = _createApplicationPro.mergedUser,
|
|
351
|
+
mergedProject = _createApplicationPro.mergedProject,
|
|
352
|
+
mergedEnvironment = _createApplicationPro.mergedEnvironment,
|
|
353
|
+
history = _createApplicationPro.history;
|
|
354
|
+
|
|
355
|
+
// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
356
|
+
const rendered = rtl__namespace.render(ui, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
357
|
+
// eslint-disable-next-line react/display-name
|
|
358
|
+
wrapper: _ref2 => {
|
|
359
|
+
let children = _ref2.children,
|
|
360
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
361
|
+
return jsxRuntime.jsx(ApplicationProviders, _objectSpread$1(_objectSpread$1({}, props), {}, {
|
|
362
|
+
children: wrapIfNeeded(children, options.wrapper)
|
|
363
|
+
}));
|
|
364
|
+
}
|
|
365
|
+
}));
|
|
366
|
+
return _objectSpread$1(_objectSpread$1({}, rendered), {}, {
|
|
367
|
+
// adding `history` to the returned utilities to allow us
|
|
368
|
+
// to reference it in our tests (just try to avoid using
|
|
369
|
+
// this to test implementation details).
|
|
370
|
+
history,
|
|
371
|
+
// Adding user, project & environment so tests know about the merge results
|
|
372
|
+
// Note that these objects do not resemble the application context, they are
|
|
373
|
+
// only intended to communicate the test setup back to the tests.
|
|
374
|
+
user: mergedUser,
|
|
375
|
+
project: mergedProject,
|
|
376
|
+
environment: mergedEnvironment
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
function createReduxProviders() {
|
|
380
|
+
let _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
381
|
+
_ref3$store = _ref3.store,
|
|
382
|
+
store = _ref3$store === void 0 ? undefined : _ref3$store,
|
|
383
|
+
_ref3$storeState = _ref3.storeState,
|
|
384
|
+
storeState = _ref3$storeState === void 0 ? undefined : _ref3$storeState,
|
|
385
|
+
_ref3$sdkMocks = _ref3.sdkMocks,
|
|
386
|
+
sdkMocks = _ref3$sdkMocks === void 0 ? [] : _ref3$sdkMocks,
|
|
387
|
+
_ref3$mapNotification = _ref3.mapNotificationToComponent,
|
|
388
|
+
mapNotificationToComponent = _ref3$mapNotification === void 0 ? () => null : _ref3$mapNotification;
|
|
389
|
+
!!(store && storeState) ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '@commercetools-frontend/application-shell/test-utils: You provided both `store` and `storeState`. Please provide only one of them.') : invariant__default["default"](false) : void 0;
|
|
390
|
+
!!(store && sdkMocks.length > 0) ? process.env.NODE_ENV !== "production" ? invariant__default["default"](false, '@commercetools-frontend/application-shell/test-utils: You provided both `store` and `sdkMocks`. Please provide only one of them.') : invariant__default["default"](false) : void 0;
|
|
391
|
+
|
|
392
|
+
// Determine the redux store to use in tests.
|
|
393
|
+
// - When the user passed in a "store", we use that store and ignore
|
|
394
|
+
// sdkMocks and storeState.
|
|
395
|
+
// - When the user passed in no sdkMocks, we create a store using the
|
|
396
|
+
// provided storeState. If storeState is undefined, then the defaults kick
|
|
397
|
+
// in anyways.
|
|
398
|
+
// - Lastly, when sdkMocks were provided (and no store was provided), we
|
|
399
|
+
// create a store which applies a special middleware to allow mocking sdk
|
|
400
|
+
// responses. We further initialize the store with the provided storeState.
|
|
401
|
+
// If storeState is undefined, then the defaults kick in anyways.
|
|
402
|
+
const reduxStore = (() => {
|
|
403
|
+
if (store) return store;
|
|
404
|
+
if (sdkMocks.length === 0) return index.createReduxStore(storeState);
|
|
405
|
+
const testingMiddleware = testUtils.createTestMiddleware(sdkMocks);
|
|
406
|
+
return index.createReduxStore(storeState, [testingMiddleware]);
|
|
407
|
+
})();
|
|
408
|
+
const ReduxProviders = props => jsxRuntime.jsx(reactNotifications.NotificationProviderForCustomComponent, {
|
|
409
|
+
mapNotificationToComponent: mapNotificationToComponent,
|
|
410
|
+
children: jsxRuntime.jsx(reactRedux.Provider, {
|
|
411
|
+
store: reduxStore,
|
|
412
|
+
children: jsxRuntime.jsxs("div", {
|
|
413
|
+
children: [jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
414
|
+
domain: constants.DOMAINS.GLOBAL
|
|
415
|
+
}), jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
416
|
+
domain: constants.DOMAINS.PAGE
|
|
417
|
+
}), jsxRuntime.jsx(reactNotifications.NotificationsList, {
|
|
418
|
+
domain: constants.DOMAINS.SIDE
|
|
419
|
+
}), props.children]
|
|
420
|
+
})
|
|
421
|
+
})
|
|
422
|
+
});
|
|
423
|
+
return {
|
|
424
|
+
ReduxProviders,
|
|
425
|
+
reduxStore
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// Test setup for rendering with Redux
|
|
430
|
+
// We expose a sophisticated function because we plan to get rid of Redux
|
|
431
|
+
// Use this function only when your test actually needs Redux
|
|
432
|
+
function renderAppWithRedux(ui) {
|
|
433
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
434
|
+
const _createReduxProviders = createReduxProviders(options),
|
|
435
|
+
ReduxProviders = _createReduxProviders.ReduxProviders,
|
|
436
|
+
reduxStore = _createReduxProviders.reduxStore;
|
|
437
|
+
// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
438
|
+
const rendered = renderApp(ui, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
439
|
+
// eslint-disable-next-line react/display-name
|
|
440
|
+
wrapper: _ref4 => {
|
|
441
|
+
let children = _ref4.children,
|
|
442
|
+
props = _objectWithoutProperties(_ref4, _excluded2);
|
|
443
|
+
return jsxRuntime.jsx(ReduxProviders, _objectSpread$1(_objectSpread$1({}, props), {}, {
|
|
444
|
+
children: wrapIfNeeded(children, options.wrapper)
|
|
445
|
+
}));
|
|
446
|
+
}
|
|
447
|
+
}));
|
|
448
|
+
return _objectSpread$1(_objectSpread$1({}, rendered), {}, {
|
|
449
|
+
// adding `store` to the returned utilities to allow us
|
|
450
|
+
// to reference it in our tests (just try to avoid using
|
|
451
|
+
// this to test implementation details).
|
|
452
|
+
store: reduxStore
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
function renderHook(callback) {
|
|
456
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
457
|
+
const _createReduxProviders2 = createReduxProviders(options),
|
|
458
|
+
ReduxProviders = _createReduxProviders2.ReduxProviders,
|
|
459
|
+
reduxStore = _createReduxProviders2.reduxStore;
|
|
460
|
+
const _createApplicationPro2 = createApplicationProviders(options),
|
|
461
|
+
ApplicationProviders = _createApplicationPro2.ApplicationProviders,
|
|
462
|
+
mergedUser = _createApplicationPro2.mergedUser,
|
|
463
|
+
mergedProject = _createApplicationPro2.mergedProject,
|
|
464
|
+
mergedEnvironment = _createApplicationPro2.mergedEnvironment,
|
|
465
|
+
history = _createApplicationPro2.history;
|
|
466
|
+
const rendered = rtl__namespace.renderHook(callback, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
467
|
+
wrapper: _ref5 => {
|
|
468
|
+
let children = _ref5.children;
|
|
469
|
+
return jsxRuntime.jsx(ApplicationProviders, {
|
|
470
|
+
children: jsxRuntime.jsx(ReduxProviders, {
|
|
471
|
+
children: wrapIfNeeded(children, options.wrapper)
|
|
472
|
+
})
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
}));
|
|
476
|
+
return _objectSpread$1(_objectSpread$1({}, rendered), {}, {
|
|
477
|
+
store: reduxStore,
|
|
478
|
+
history,
|
|
479
|
+
user: mergedUser,
|
|
480
|
+
project: mergedProject,
|
|
481
|
+
environment: mergedEnvironment
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// namespace for hooks related helpers
|
|
486
|
+
const hooks = {
|
|
487
|
+
renderHook
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
// Custom events for async focus and blur.
|
|
491
|
+
// This helps abstracting the act() call from the tests.
|
|
492
|
+
|
|
493
|
+
const customFireEvent = rtl__namespace.fireEvent;
|
|
494
|
+
customFireEvent.asyncFocus = element => {
|
|
495
|
+
return react.act(async () => element.focus());
|
|
496
|
+
};
|
|
497
|
+
customFireEvent.asyncBlur = element => {
|
|
498
|
+
return react.act(async () => element.blur());
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
/** All built-in and custom scalars, mapped to their actual values */
|
|
502
|
+
let TCustomViewType = /*#__PURE__*/function (TCustomViewType) {
|
|
503
|
+
TCustomViewType["CustomPanel"] = "CustomPanel";
|
|
504
|
+
return TCustomViewType;
|
|
505
|
+
}({});
|
|
506
|
+
|
|
507
|
+
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
508
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
509
|
+
const testCustomViewData = {
|
|
510
|
+
id: 'custom-view-id',
|
|
511
|
+
defaultLabel: 'My View',
|
|
512
|
+
labelAllLocales: [],
|
|
513
|
+
url: 'https://my-view.com',
|
|
514
|
+
type: TCustomViewType.CustomPanel,
|
|
515
|
+
locators: ['products.product_details.general'],
|
|
516
|
+
permissions: [{
|
|
517
|
+
name: 'view',
|
|
518
|
+
oAuthScopes: ['view_products']
|
|
519
|
+
}]
|
|
520
|
+
};
|
|
521
|
+
const renderCustomView = props => {
|
|
522
|
+
return renderAppWithRedux(jsxRuntime.jsx(applicationShellConnectors.CustomViewContextProvider, {
|
|
523
|
+
hostUrl: props.customViewHostUrl ?? 'https://mc.ct.com/my-project/products/product-id-1',
|
|
524
|
+
customViewConfig: _objectSpread(_objectSpread({}, testCustomViewData), props.customViewConfig),
|
|
525
|
+
children: props.children
|
|
526
|
+
}), {
|
|
527
|
+
apolloClient: props.apolloClient,
|
|
528
|
+
locale: props.locale,
|
|
529
|
+
project: {
|
|
530
|
+
key: props.projectKey,
|
|
531
|
+
allAppliedPermissions: props.projectAllAppliedPermissions || []
|
|
532
|
+
},
|
|
533
|
+
environment: _objectSpread(_objectSpread({}, props.environment || {}), {}, {
|
|
534
|
+
entryPointUriPath: constants.CUSTOM_VIEW_HOST_ENTRY_POINT_URI_PATH
|
|
535
|
+
}),
|
|
536
|
+
user: props.user
|
|
537
|
+
});
|
|
538
|
+
};
|
|
539
|
+
|
|
540
|
+
exports.customFireEvent = customFireEvent;
|
|
541
|
+
exports.denormalizeActionRights = denormalizeActionRights;
|
|
542
|
+
exports.denormalizeDataFences = denormalizeDataFences;
|
|
543
|
+
exports.denormalizePermissions = denormalizePermissions;
|
|
544
|
+
exports.hooks = hooks;
|
|
545
|
+
exports.mapResourceAccessToAppliedPermissions = mapResourceAccessToAppliedPermissions;
|
|
546
|
+
exports.renderApp = renderApp;
|
|
547
|
+
exports.renderAppWithRedux = renderAppWithRedux;
|
|
548
|
+
exports.renderCustomView = renderCustomView;
|
|
549
|
+
Object.keys(rtl).forEach(function (k) {
|
|
550
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
551
|
+
enumerable: true,
|
|
552
|
+
get: function () { return rtl[k]; }
|
|
553
|
+
});
|
|
554
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
if (process.env.NODE_ENV === "production") {
|
|
4
|
+
module.exports = require("./commercetools-frontend-application-shell-test-utils.cjs.prod.js");
|
|
5
|
+
} else {
|
|
6
|
+
module.exports = require("./commercetools-frontend-application-shell-test-utils.cjs.dev.js");
|
|
7
|
+
}
|