@trackunit/react-core-contexts-test 0.1.233 → 0.1.236
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/index.cjs.js +1 -0
- package/index.cjs2.js +25 -10
- package/index.esm.js +1 -1
- package/index.esm2.js +25 -11
- package/package.json +2 -2
- package/src/utils/wait.d.ts +7 -0
package/index.cjs.js
CHANGED
|
@@ -37,3 +37,4 @@ exports.trackunitProviders = index.trackunitProviders;
|
|
|
37
37
|
exports.useDebugger = index.useDebugger;
|
|
38
38
|
exports.useIsFirstRender = index.useIsFirstRender;
|
|
39
39
|
exports.validateIrisApp = index.validateIrisApp;
|
|
40
|
+
exports.waitForRenderTanstackRouterQuirk = index.waitForRenderTanstackRouterQuirk;
|
package/index.cjs2.js
CHANGED
|
@@ -220,9 +220,6 @@ const mockNavigationContext = {
|
|
|
220
220
|
gotoCustomerHome: (customerId) => {
|
|
221
221
|
return Promise.resolve(true);
|
|
222
222
|
},
|
|
223
|
-
gotoMyExports: (exportId) => {
|
|
224
|
-
return Promise.resolve(true);
|
|
225
|
-
},
|
|
226
223
|
gotoAdmin: (url) => {
|
|
227
224
|
return Promise.resolve(true);
|
|
228
225
|
},
|
|
@@ -348,7 +345,11 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
348
345
|
route.options.component = entry.component;
|
|
349
346
|
}
|
|
350
347
|
else {
|
|
351
|
-
route.
|
|
348
|
+
route.update({
|
|
349
|
+
component: () => {
|
|
350
|
+
return (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
|
|
351
|
+
},
|
|
352
|
+
});
|
|
352
353
|
}
|
|
353
354
|
}
|
|
354
355
|
});
|
|
@@ -362,7 +363,9 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
362
363
|
const childRoute = reactRouter.createRoute({
|
|
363
364
|
path: "/",
|
|
364
365
|
getParentRoute: () => localRootRoute,
|
|
365
|
-
component: () =>
|
|
366
|
+
component: () => {
|
|
367
|
+
return (jsxRuntime.jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
|
|
368
|
+
},
|
|
366
369
|
});
|
|
367
370
|
localRootRoute.addChildren([childRoute]);
|
|
368
371
|
}
|
|
@@ -390,7 +393,7 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
390
393
|
}, [rootRoute]);
|
|
391
394
|
const context = React.useMemo(() => (Object.assign({ hasAccessTo: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), isAuthenticated: true, client, defaultUserRoute: "/" }, ((selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context) || {}))), [client, selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context]);
|
|
392
395
|
const ErrorComponent = ({ error }) => {
|
|
393
|
-
return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error
|
|
396
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error instanceof Error ? error.message : error] });
|
|
394
397
|
};
|
|
395
398
|
return jsxRuntime.jsx(reactRouter.RouterProvider, { context: context, defaultErrorComponent: ErrorComponent, router: router });
|
|
396
399
|
};
|
|
@@ -435,6 +438,18 @@ const flushPromisesInAct = (waitTimeInMS = 0) => {
|
|
|
435
438
|
});
|
|
436
439
|
});
|
|
437
440
|
};
|
|
441
|
+
/**
|
|
442
|
+
* This is a temp hack to work around a Tanstack Router quirk.
|
|
443
|
+
* This will wait for the render to finish before resolving the promise.
|
|
444
|
+
*
|
|
445
|
+
* @param rerender - The rerender function.
|
|
446
|
+
*/
|
|
447
|
+
const waitForRenderTanstackRouterQuirk = (rerender) => __awaiter(void 0, void 0, void 0, function* () {
|
|
448
|
+
return yield react$1.act(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
449
|
+
rerender();
|
|
450
|
+
yield flushPromises();
|
|
451
|
+
}));
|
|
452
|
+
});
|
|
438
453
|
|
|
439
454
|
/**
|
|
440
455
|
* This builder allows you to enable trackunit providers using the builder pattern, and then call 1 of either:
|
|
@@ -923,7 +938,8 @@ const useDebugger = (propsToWatch, id) => {
|
|
|
923
938
|
const prevPropsRef = React.useRef(propsToWatch);
|
|
924
939
|
const uniqueId = React.useMemo(() => {
|
|
925
940
|
var _a;
|
|
926
|
-
|
|
941
|
+
// eslint-disable-next-line local-rules/no-typescript-assertion
|
|
942
|
+
let stackId = id || (propsToWatch && propsToWatch.id);
|
|
927
943
|
const stack = new Error().stack;
|
|
928
944
|
if (!stackId && stack) {
|
|
929
945
|
const stackLines = stack.split("\n");
|
|
@@ -936,7 +952,7 @@ const useDebugger = (propsToWatch, id) => {
|
|
|
936
952
|
}
|
|
937
953
|
}
|
|
938
954
|
return stackId || "unknown-id";
|
|
939
|
-
}, [id]);
|
|
955
|
+
}, [id, propsToWatch]);
|
|
940
956
|
const isFirstRender = useIsFirstRender();
|
|
941
957
|
// eslint-disable-next-line no-console
|
|
942
958
|
console.log(isFirstRender ? "First-render" : "Re-render", uniqueId, window.location.pathname);
|
|
@@ -996,8 +1012,6 @@ const Debugger = ({ id, logPropsChanges, stop, children, }) => {
|
|
|
996
1012
|
((_g = (_f = new Error().stack) === null || _f === void 0 ? void 0 : _f.split("\n")[2]) === null || _g === void 0 ? void 0 : _g.trim()) ||
|
|
997
1013
|
"unknown-id";
|
|
998
1014
|
useDebugger(logPropsChanges || {}, id);
|
|
999
|
-
// eslint-disable-next-line no-console
|
|
1000
|
-
console.log(`${uniqueId} Debugger is rendering`);
|
|
1001
1015
|
React.useEffect(() => {
|
|
1002
1016
|
// eslint-disable-next-line no-console
|
|
1003
1017
|
console.log(`${uniqueId} Debugger is mounting`);
|
|
@@ -1168,3 +1182,4 @@ exports.trackunitProviders = trackunitProviders;
|
|
|
1168
1182
|
exports.useDebugger = useDebugger;
|
|
1169
1183
|
exports.useIsFirstRender = useIsFirstRender;
|
|
1170
1184
|
exports.validateIrisApp = validateIrisApp;
|
|
1185
|
+
exports.waitForRenderTanstackRouterQuirk = waitForRenderTanstackRouterQuirk;
|
package/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { D as Debugger, T as TrackunitProvidersMockBuilder, i as doNothing, f as flushPromises, k as flushPromisesInAct, m as mockAnalyticsContext, b as mockAssetSortingContext, c as mockCurrentUserContext, d as mockEnvironmentContext, e as mockOemBrandingContext, g as mockToastContext, h as mockUserSubscriptionContext, q as queryFor, j as queryForHook, t as trackunitProviders, a as useDebugger, u as useIsFirstRender, v as validateIrisApp } from './index.esm2.js';
|
|
1
|
+
export { D as Debugger, T as TrackunitProvidersMockBuilder, i as doNothing, f as flushPromises, k as flushPromisesInAct, m as mockAnalyticsContext, b as mockAssetSortingContext, c as mockCurrentUserContext, d as mockEnvironmentContext, e as mockOemBrandingContext, g as mockToastContext, h as mockUserSubscriptionContext, q as queryFor, j as queryForHook, t as trackunitProviders, a as useDebugger, u as useIsFirstRender, v as validateIrisApp, w as waitForRenderTanstackRouterQuirk } from './index.esm2.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import '@testing-library/react';
|
|
4
4
|
import '@trackunit/react-core-hooks';
|
package/index.esm2.js
CHANGED
|
@@ -213,9 +213,6 @@ const mockNavigationContext = {
|
|
|
213
213
|
gotoCustomerHome: (customerId) => {
|
|
214
214
|
return Promise.resolve(true);
|
|
215
215
|
},
|
|
216
|
-
gotoMyExports: (exportId) => {
|
|
217
|
-
return Promise.resolve(true);
|
|
218
|
-
},
|
|
219
216
|
gotoAdmin: (url) => {
|
|
220
217
|
return Promise.resolve(true);
|
|
221
218
|
},
|
|
@@ -341,7 +338,11 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
341
338
|
route.options.component = entry.component;
|
|
342
339
|
}
|
|
343
340
|
else {
|
|
344
|
-
route.
|
|
341
|
+
route.update({
|
|
342
|
+
component: () => {
|
|
343
|
+
return (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
|
|
344
|
+
},
|
|
345
|
+
});
|
|
345
346
|
}
|
|
346
347
|
}
|
|
347
348
|
});
|
|
@@ -355,7 +356,9 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
355
356
|
const childRoute = createRoute({
|
|
356
357
|
path: "/",
|
|
357
358
|
getParentRoute: () => localRootRoute,
|
|
358
|
-
component: () =>
|
|
359
|
+
component: () => {
|
|
360
|
+
return (jsx(TestRenderChildren, { addTestRootContainer: addTestRootContainer, children: getChildren() }));
|
|
361
|
+
},
|
|
359
362
|
});
|
|
360
363
|
localRootRoute.addChildren([childRoute]);
|
|
361
364
|
}
|
|
@@ -383,7 +386,7 @@ const RouterContainer = ({ addTestRootContainer, selectedRouterProps, rootRoute,
|
|
|
383
386
|
}, [rootRoute]);
|
|
384
387
|
const context = useMemo(() => (Object.assign({ hasAccessTo: () => __awaiter(void 0, void 0, void 0, function* () { return true; }), isAuthenticated: true, client, defaultUserRoute: "/" }, ((selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context) || {}))), [client, selectedRouterProps === null || selectedRouterProps === void 0 ? void 0 : selectedRouterProps.context]);
|
|
385
388
|
const ErrorComponent = ({ error }) => {
|
|
386
|
-
return jsxs(Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error
|
|
389
|
+
return jsxs(Fragment, { children: ["UNCAUGHT ERROR IN TEST: ", error instanceof Error ? error.message : error] });
|
|
387
390
|
};
|
|
388
391
|
return jsx(RouterProvider, { context: context, defaultErrorComponent: ErrorComponent, router: router });
|
|
389
392
|
};
|
|
@@ -428,6 +431,18 @@ const flushPromisesInAct = (waitTimeInMS = 0) => {
|
|
|
428
431
|
});
|
|
429
432
|
});
|
|
430
433
|
};
|
|
434
|
+
/**
|
|
435
|
+
* This is a temp hack to work around a Tanstack Router quirk.
|
|
436
|
+
* This will wait for the render to finish before resolving the promise.
|
|
437
|
+
*
|
|
438
|
+
* @param rerender - The rerender function.
|
|
439
|
+
*/
|
|
440
|
+
const waitForRenderTanstackRouterQuirk = (rerender) => __awaiter(void 0, void 0, void 0, function* () {
|
|
441
|
+
return yield act(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
442
|
+
rerender();
|
|
443
|
+
yield flushPromises();
|
|
444
|
+
}));
|
|
445
|
+
});
|
|
431
446
|
|
|
432
447
|
/**
|
|
433
448
|
* This builder allows you to enable trackunit providers using the builder pattern, and then call 1 of either:
|
|
@@ -916,7 +931,8 @@ const useDebugger = (propsToWatch, id) => {
|
|
|
916
931
|
const prevPropsRef = useRef(propsToWatch);
|
|
917
932
|
const uniqueId = useMemo(() => {
|
|
918
933
|
var _a;
|
|
919
|
-
|
|
934
|
+
// eslint-disable-next-line local-rules/no-typescript-assertion
|
|
935
|
+
let stackId = id || (propsToWatch && propsToWatch.id);
|
|
920
936
|
const stack = new Error().stack;
|
|
921
937
|
if (!stackId && stack) {
|
|
922
938
|
const stackLines = stack.split("\n");
|
|
@@ -929,7 +945,7 @@ const useDebugger = (propsToWatch, id) => {
|
|
|
929
945
|
}
|
|
930
946
|
}
|
|
931
947
|
return stackId || "unknown-id";
|
|
932
|
-
}, [id]);
|
|
948
|
+
}, [id, propsToWatch]);
|
|
933
949
|
const isFirstRender = useIsFirstRender();
|
|
934
950
|
// eslint-disable-next-line no-console
|
|
935
951
|
console.log(isFirstRender ? "First-render" : "Re-render", uniqueId, window.location.pathname);
|
|
@@ -989,8 +1005,6 @@ const Debugger = ({ id, logPropsChanges, stop, children, }) => {
|
|
|
989
1005
|
((_g = (_f = new Error().stack) === null || _f === void 0 ? void 0 : _f.split("\n")[2]) === null || _g === void 0 ? void 0 : _g.trim()) ||
|
|
990
1006
|
"unknown-id";
|
|
991
1007
|
useDebugger(logPropsChanges || {}, id);
|
|
992
|
-
// eslint-disable-next-line no-console
|
|
993
|
-
console.log(`${uniqueId} Debugger is rendering`);
|
|
994
1008
|
useEffect(() => {
|
|
995
1009
|
// eslint-disable-next-line no-console
|
|
996
1010
|
console.log(`${uniqueId} Debugger is mounting`);
|
|
@@ -1142,4 +1156,4 @@ const validateIrisApp = (irisApp) => __awaiter(void 0, void 0, void 0, function*
|
|
|
1142
1156
|
return null;
|
|
1143
1157
|
});
|
|
1144
1158
|
|
|
1145
|
-
export { Debugger as D, TrackunitProvidersMockBuilder as T, __awaiter as _, useDebugger as a, mockAssetSortingContext as b, mockCurrentUserContext as c, mockEnvironmentContext as d, mockOemBrandingContext as e, flushPromises as f, mockToastContext as g, mockUserSubscriptionContext as h, doNothing as i, queryForHook as j, flushPromisesInAct as k, mockAnalyticsContext as m, queryFor as q, trackunitProviders as t, useIsFirstRender as u, validateIrisApp as v };
|
|
1159
|
+
export { Debugger as D, TrackunitProvidersMockBuilder as T, __awaiter as _, useDebugger as a, mockAssetSortingContext as b, mockCurrentUserContext as c, mockEnvironmentContext as d, mockOemBrandingContext as e, flushPromises as f, mockToastContext as g, mockUserSubscriptionContext as h, doNothing as i, queryForHook as j, flushPromisesInAct as k, mockAnalyticsContext as m, queryFor as q, trackunitProviders as t, useIsFirstRender as u, validateIrisApp as v, waitForRenderTanstackRouterQuirk as w };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-core-contexts-test",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.236",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@trackunit/react-core-hooks": "*",
|
|
15
15
|
"lodash": "4.17.21",
|
|
16
16
|
"graphql": "^15.8.0",
|
|
17
|
-
"@tanstack/react-router": "1.
|
|
17
|
+
"@tanstack/react-router": "1.40.0",
|
|
18
18
|
"@trackunit/shared-utils": "*"
|
|
19
19
|
},
|
|
20
20
|
"module": "./index.esm.js",
|
package/src/utils/wait.d.ts
CHANGED
|
@@ -14,3 +14,10 @@ export declare const flushPromises: (waitTimeInMS?: number) => Promise<unknown>;
|
|
|
14
14
|
* @returns {Promise<void>} - Returns a promise that resolves after the wait time.
|
|
15
15
|
*/
|
|
16
16
|
export declare const flushPromisesInAct: (waitTimeInMS?: number) => Promise<unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* This is a temp hack to work around a Tanstack Router quirk.
|
|
19
|
+
* This will wait for the render to finish before resolving the promise.
|
|
20
|
+
*
|
|
21
|
+
* @param rerender - The rerender function.
|
|
22
|
+
*/
|
|
23
|
+
export declare const waitForRenderTanstackRouterQuirk: (rerender: () => void) => Promise<void>;
|