@truedat/core 8.11.1 → 8.11.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truedat/core",
|
|
3
|
-
"version": "8.11.
|
|
3
|
+
"version": "8.11.2",
|
|
4
4
|
"description": "Truedat Web Core",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"**/*.css",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@testing-library/jest-dom": "^6.6.3",
|
|
58
58
|
"@testing-library/react": "^16.3.0",
|
|
59
59
|
"@testing-library/user-event": "^14.6.1",
|
|
60
|
-
"@truedat/test": "8.11.
|
|
60
|
+
"@truedat/test": "8.11.2",
|
|
61
61
|
"identity-obj-proxy": "^3.0.0",
|
|
62
62
|
"jest": "^29.7.0",
|
|
63
63
|
"redux-saga-test-plan": "^4.0.6"
|
|
@@ -98,5 +98,5 @@
|
|
|
98
98
|
"swr": "^2.3.3",
|
|
99
99
|
"turndown": "^7.2.2"
|
|
100
100
|
},
|
|
101
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "5c0ce3c555de4c9e89021b4d0ab785ed27a87305"
|
|
102
102
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { render } from "@truedat/test/render";
|
|
2
|
-
import GlossaryMenu from "../GlossaryMenu";
|
|
3
2
|
import { fetchTemplates } from "@truedat/core/routines";
|
|
3
|
+
import GlossaryMenu from "../GlossaryMenu";
|
|
4
4
|
|
|
5
5
|
jest.mock("../../hooks", () => ({
|
|
6
6
|
useActiveRoutes: jest.fn(() => true),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { render, waitForLoad } from "@truedat/test/render";
|
|
2
2
|
import { CATALOG_VIEW_CONFIGS_QUERY } from "@truedat/core/api/queries";
|
|
3
|
-
import SideMenu from "../SideMenu";
|
|
4
3
|
import { fetchTemplates } from "@truedat/core/routines";
|
|
4
|
+
import SideMenu from "../SideMenu";
|
|
5
5
|
|
|
6
6
|
jest.mock("@truedat/core/hooks", () => ({
|
|
7
7
|
useActiveRoutes: jest.fn(() => true),
|
|
@@ -64,6 +64,9 @@ export const SearchContextProvider = (props) => {
|
|
|
64
64
|
const [count, setCount] = useState(0);
|
|
65
65
|
|
|
66
66
|
const [onSearchChange, setOnSearchChange] = useState();
|
|
67
|
+
const [refreshCounter, refreshToken] = useState(0);
|
|
68
|
+
|
|
69
|
+
const refreshSearch = useCallback(() => refreshToken((c) => c + 1), []);
|
|
67
70
|
|
|
68
71
|
const debouncedTriggerSearch = useCallback(
|
|
69
72
|
_.debounce(debounceQueryTime)((filterParam) => {
|
|
@@ -270,6 +273,7 @@ export const SearchContextProvider = (props) => {
|
|
|
270
273
|
page,
|
|
271
274
|
size,
|
|
272
275
|
enrichSearchPayload,
|
|
276
|
+
refreshCounter,
|
|
273
277
|
]);
|
|
274
278
|
|
|
275
279
|
const mapDomainFilterKey = (key) => {
|
|
@@ -410,6 +414,7 @@ export const SearchContextProvider = (props) => {
|
|
|
410
414
|
searchFiltersPropsMapping,
|
|
411
415
|
|
|
412
416
|
setOnSearchChange,
|
|
417
|
+
refreshSearch,
|
|
413
418
|
};
|
|
414
419
|
|
|
415
420
|
return <SearchContext value={context}>{children}</SearchContext>;
|
|
@@ -508,4 +508,52 @@ describe("<SearchContextProvider />", () => {
|
|
|
508
508
|
|
|
509
509
|
jest.useRealTimers();
|
|
510
510
|
});
|
|
511
|
+
|
|
512
|
+
it("re-executes the search when refreshSearch is called", async () => {
|
|
513
|
+
jest.useFakeTimers();
|
|
514
|
+
const user = userEvent.setup({
|
|
515
|
+
delay: null,
|
|
516
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
517
|
+
});
|
|
518
|
+
const triggerSearchSpy = jest.fn().mockReturnValue({
|
|
519
|
+
then: (callback) =>
|
|
520
|
+
callback({
|
|
521
|
+
data,
|
|
522
|
+
headers: {},
|
|
523
|
+
}),
|
|
524
|
+
});
|
|
525
|
+
const useSearchLocal = () => ({ trigger: triggerSearchSpy });
|
|
526
|
+
|
|
527
|
+
const RefreshConsumer = () => {
|
|
528
|
+
const { refreshSearch } = useSearchContext();
|
|
529
|
+
return <button onClick={() => refreshSearch()}>refresh</button>;
|
|
530
|
+
};
|
|
531
|
+
|
|
532
|
+
const rendered = render(
|
|
533
|
+
<SearchContextProvider {...searchProps} useSearch={useSearchLocal}>
|
|
534
|
+
<RefreshConsumer />
|
|
535
|
+
</SearchContextProvider>,
|
|
536
|
+
renderOpts,
|
|
537
|
+
);
|
|
538
|
+
|
|
539
|
+
jest.runAllTimers();
|
|
540
|
+
|
|
541
|
+
expect(triggerSearchSpy).toHaveBeenCalledTimes(1);
|
|
542
|
+
const firstCallArgs = triggerSearchSpy.mock.calls[0][0];
|
|
543
|
+
|
|
544
|
+
await user.click(rendered.getByText(/refresh/i));
|
|
545
|
+
|
|
546
|
+
jest.runAllTimers();
|
|
547
|
+
|
|
548
|
+
expect(triggerSearchSpy).toHaveBeenCalledTimes(2);
|
|
549
|
+
expect(triggerSearchSpy).toHaveBeenLastCalledWith(
|
|
550
|
+
expect.objectContaining({
|
|
551
|
+
must: firstCallArgs.must,
|
|
552
|
+
page: firstCallArgs.page,
|
|
553
|
+
size: firstCallArgs.size,
|
|
554
|
+
}),
|
|
555
|
+
);
|
|
556
|
+
|
|
557
|
+
jest.useRealTimers();
|
|
558
|
+
});
|
|
511
559
|
});
|