@truedat/bg 8.7.0 → 8.7.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.
Files changed (135) hide show
  1. package/package.json +3 -3
  2. package/src/concepts/api.js +3 -2
  3. package/src/concepts/components/Concept.js +7 -7
  4. package/src/concepts/components/ConceptActions.js +1 -1
  5. package/src/concepts/components/ConceptCompleteness.js +6 -6
  6. package/src/concepts/components/ConceptCrumbs.js +1 -1
  7. package/src/concepts/components/ConceptDetails.js +1 -1
  8. package/src/concepts/components/ConceptHeader.js +2 -2
  9. package/src/concepts/components/ConceptLinksDropdownSelector.js +2 -2
  10. package/src/concepts/components/ConceptLinksUploadButton.js +1 -1
  11. package/src/concepts/components/ConceptLoader.js +1 -1
  12. package/src/concepts/components/ConceptRoutes.js +7 -5
  13. package/src/concepts/components/ConceptSubscription.js +2 -2
  14. package/src/concepts/components/ConceptSuggestions.js +40 -43
  15. package/src/concepts/components/ConceptTabs.js +12 -12
  16. package/src/concepts/components/ConceptsActions.js +1 -3
  17. package/src/concepts/components/ConceptsBulkUpdate.js +2 -2
  18. package/src/concepts/components/ConceptsLinksManagement.js +6 -6
  19. package/src/concepts/components/ConceptsTable.js +1 -1
  20. package/src/concepts/components/ConceptsUpdateButton.js +1 -1
  21. package/src/concepts/components/ConceptsUploadButton.js +27 -22
  22. package/src/concepts/components/ConceptsUploadEventsTable.js +9 -6
  23. package/src/concepts/components/EventRow.js +7 -3
  24. package/src/concepts/components/SharedToForm.js +4 -1
  25. package/src/concepts/components/__tests__/Concept.spec.js +2 -2
  26. package/src/concepts/components/__tests__/ConceptArchiveRow.spec.js +1 -1
  27. package/src/concepts/components/__tests__/ConceptCompleteness.spec.js +1 -1
  28. package/src/concepts/components/__tests__/ConceptContext.spec.js +3 -3
  29. package/src/concepts/components/__tests__/ConceptDeleteModalBody.spec.js +6 -6
  30. package/src/concepts/components/__tests__/ConceptEdit.spec.js +4 -4
  31. package/src/concepts/components/__tests__/ConceptForm.spec.js +4 -4
  32. package/src/concepts/components/__tests__/ConceptHeader.spec.js +3 -3
  33. package/src/concepts/components/__tests__/ConceptLinksManagement.spec.js +2 -2
  34. package/src/concepts/components/__tests__/ConceptLinksUploadButton.spec.js +1 -1
  35. package/src/concepts/components/__tests__/ConceptManageDomainPopup.spec.js +10 -10
  36. package/src/concepts/components/__tests__/ConceptRoutes.spec.js +3 -3
  37. package/src/concepts/components/__tests__/ConceptRow.spec.js +2 -2
  38. package/src/concepts/components/__tests__/ConceptSubscription.spec.js +1 -1
  39. package/src/concepts/components/__tests__/ConceptSuggestions.spec.js +60 -48
  40. package/src/concepts/components/__tests__/ConceptTabPane.spec.js +1 -1
  41. package/src/concepts/components/__tests__/ConceptTabs.spec.js +10 -4
  42. package/src/concepts/components/__tests__/Concepts.spec.js +1 -1
  43. package/src/concepts/components/__tests__/ConceptsActions.spec.js +1 -1
  44. package/src/concepts/components/__tests__/ConceptsBulkUpdate.spec.js +3 -3
  45. package/src/concepts/components/__tests__/ConceptsLabelResults.spec.js +1 -1
  46. package/src/concepts/components/__tests__/ConceptsPanel.spec.js +1 -1
  47. package/src/concepts/components/__tests__/ConceptsTable.spec.js +16 -16
  48. package/src/concepts/components/__tests__/ConceptsUpdateButton.spec.js +2 -2
  49. package/src/concepts/components/__tests__/ConceptsUploadButton.spec.js +3 -3
  50. package/src/concepts/components/__tests__/Events.spec.js +6 -4
  51. package/src/concepts/components/__tests__/SharedToDomains.spec.js +1 -1
  52. package/src/concepts/components/__tests__/SharedToDomainsPopup.spec.js +5 -5
  53. package/src/concepts/components/__tests__/SharedToForm.spec.js +4 -4
  54. package/src/concepts/constants/mappings.js +6 -6
  55. package/src/concepts/hooks/useConcepts.js +6 -6
  56. package/src/concepts/hooks/useUploadEvents.js +1 -1
  57. package/src/concepts/reducers/__tests__/bulkUpdateLoading.spec.js +2 -2
  58. package/src/concepts/reducers/__tests__/concept.spec.js +7 -7
  59. package/src/concepts/reducers/__tests__/conceptActions.spec.js +5 -5
  60. package/src/concepts/reducers/__tests__/conceptArchive.spec.js +2 -2
  61. package/src/concepts/reducers/__tests__/conceptArchiveLoading.spec.js +2 -2
  62. package/src/concepts/reducers/__tests__/conceptLoading.spec.js +1 -1
  63. package/src/concepts/reducers/__tests__/conceptPermissions.spec.js +7 -7
  64. package/src/concepts/reducers/__tests__/conceptRedirect.spec.js +17 -17
  65. package/src/concepts/reducers/__tests__/conceptUpdating.spec.js +2 -2
  66. package/src/concepts/reducers/__tests__/conceptsDownloading.spec.js +2 -2
  67. package/src/concepts/reducers/__tests__/savingSharedTo.spec.js +1 -1
  68. package/src/concepts/reducers/__tests__/sharedToDomains.spec.js +6 -6
  69. package/src/concepts/reducers/conceptArchive.js +1 -1
  70. package/src/concepts/reducers/conceptRedirect.js +2 -6
  71. package/src/concepts/relations/components/ConceptImplementationLinks.js +5 -5
  72. package/src/concepts/relations/components/ConceptLinkActions.js +3 -1
  73. package/src/concepts/relations/components/ConceptLinksApprovalResults.js +2 -1
  74. package/src/concepts/relations/components/ConceptLinksApprovals.js +4 -4
  75. package/src/concepts/relations/components/ConceptLinkstRequestGrantButton.js +2 -2
  76. package/src/concepts/relations/components/ConceptRelationForm.js +2 -2
  77. package/src/concepts/relations/components/ConceptRelationRow.js +2 -2
  78. package/src/concepts/relations/components/ConceptRelations.js +19 -33
  79. package/src/concepts/relations/components/ConceptRelationsRoutes.js +3 -3
  80. package/src/concepts/relations/components/ConceptRelationsSummary.js +2 -2
  81. package/src/concepts/relations/components/ConceptSelector.js +4 -4
  82. package/src/concepts/relations/components/ConceptStructureLinks.js +1 -1
  83. package/src/concepts/relations/components/SliderWithFilter.js +20 -7
  84. package/src/concepts/relations/components/__tests__/ConceptImplementationLinks.spec.js +0 -1
  85. package/src/concepts/relations/components/__tests__/ConceptLinkActions.spec.js +41 -10
  86. package/src/concepts/relations/components/__tests__/ConceptLinksActions.spec.js +5 -5
  87. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalResults.spec.js +1 -1
  88. package/src/concepts/relations/components/__tests__/ConceptLinksApprovals.spec.js +1 -1
  89. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsLabelResults.spec.js +1 -1
  90. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsRow.spec.js +5 -5
  91. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsTable.spec.js +1 -1
  92. package/src/concepts/relations/components/__tests__/ConceptLinkstRequestGrantButton.spec.js +10 -5
  93. package/src/concepts/relations/components/__tests__/ConceptRelationForm.spec.js +4 -4
  94. package/src/concepts/relations/components/__tests__/ConceptRelations.spec.js +1 -1
  95. package/src/concepts/relations/components/__tests__/ConceptRelationsRoutes.spec.js +1 -1
  96. package/src/concepts/relations/components/__tests__/ConceptSelector.spec.js +10 -10
  97. package/src/concepts/relations/components/__tests__/ConceptStructureLinks.spec.js +3 -7
  98. package/src/concepts/relations/components/__tests__/SliderWithFilter.spec.js +6 -8
  99. package/src/concepts/relations/hooks/useLinks.js +3 -3
  100. package/src/concepts/relations/sagas/linkConcept.js +1 -1
  101. package/src/concepts/relations/selectors/__tests__/getBusinessConceptsLinksToImplementationsColumns.spec.js +1 -1
  102. package/src/concepts/relations/selectors/getBusinessConceptsLinksToImplementationsColumns.js +1 -1
  103. package/src/concepts/relations/selectors/getConceptImplementationLinks.js +4 -4
  104. package/src/concepts/relations/selectors/getConceptLinks.js +7 -7
  105. package/src/concepts/relations/selectors/getConceptRelations.js +9 -9
  106. package/src/concepts/relations/selectors/getLinksSearchColumns.js +3 -3
  107. package/src/concepts/sagas/bulkUpdate.js +1 -1
  108. package/src/concepts/selectors/__tests__/getConceptDomainPath.spec.js +1 -1
  109. package/src/concepts/selectors/getConceptColumns.js +1 -1
  110. package/src/concepts/selectors/getConceptDomainPath.js +1 -1
  111. package/src/concepts/selectors/getConceptUploadEventColumns.js +1 -1
  112. package/src/concepts/selectors/getConceptVersionPath.js +1 -1
  113. package/src/concepts/selectors/getTemplateFields.js +1 -1
  114. package/src/concepts/selectors/getTemplateGroups.js +1 -1
  115. package/src/hooks/useDomains.js +2 -2
  116. package/src/messages/index.js +1 -1
  117. package/src/taxonomy/components/DomainActions.js +4 -4
  118. package/src/taxonomy/components/DomainCards.js +3 -3
  119. package/src/taxonomy/components/DomainContent.js +1 -1
  120. package/src/taxonomy/components/DomainForm.js +6 -6
  121. package/src/taxonomy/components/DomainImplementations.js +2 -3
  122. package/src/taxonomy/components/DomainTabs.js +2 -2
  123. package/src/taxonomy/components/__tests__/Domain.spec.js +6 -6
  124. package/src/taxonomy/components/__tests__/DomainCards.spec.js +1 -1
  125. package/src/taxonomy/components/__tests__/DomainContent.spec.js +10 -10
  126. package/src/taxonomy/components/__tests__/DomainForm.spec.js +5 -5
  127. package/src/taxonomy/components/__tests__/DomainImplmentation.spec.js +3 -3
  128. package/src/taxonomy/components/__tests__/DomainRoutes.spec.js +1 -1
  129. package/src/taxonomy/components/__tests__/DomainStructures.spec.js +5 -3
  130. package/src/taxonomy/components/__tests__/DomainTabs.spec.js +7 -7
  131. package/src/taxonomy/components/__tests__/Domains.spec.js +8 -8
  132. package/src/taxonomy/components/__tests__/DomainsActions.spec.js +1 -1
  133. package/src/taxonomy/selectors/__tests__/getVisibleDomains.spec.js +4 -4
  134. package/src/taxonomy/selectors/getDomainsConcept.js +9 -9
  135. package/src/taxonomy/selectors/index.js +8 -8
@@ -15,17 +15,27 @@ describe("ConceptLinkActions", () => {
15
15
  it("should render loading icon when loading is true", () => {
16
16
  const action = { href: "/api/links/123" };
17
17
  const rendered = render(
18
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={true} />
18
+ <DeleteLink
19
+ deleteRelation={deleteRelation}
20
+ action={action}
21
+ loading={true}
22
+ />,
19
23
  );
20
24
 
21
- expect(rendered.container.querySelector(".icon.loading")).toBeInTheDocument();
25
+ expect(
26
+ rendered.container.querySelector(".icon.loading"),
27
+ ).toBeInTheDocument();
22
28
  expect(rendered.container).toMatchSnapshot();
23
29
  });
24
30
 
25
31
  it("should render delete button when loading is false", async () => {
26
32
  const action = { href: "/api/links/123" };
27
33
  const rendered = render(
28
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
34
+ <DeleteLink
35
+ deleteRelation={deleteRelation}
36
+ action={action}
37
+ loading={false}
38
+ />,
29
39
  );
30
40
  await waitForLoad(rendered);
31
41
 
@@ -36,7 +46,11 @@ describe("ConceptLinkActions", () => {
36
46
  it("should extract link id from href and call deleteRelation on confirm", async () => {
37
47
  const action = { href: "/api/links/456" };
38
48
  const rendered = render(
39
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
49
+ <DeleteLink
50
+ deleteRelation={deleteRelation}
51
+ action={action}
52
+ loading={false}
53
+ />,
40
54
  );
41
55
  await waitForLoad(rendered);
42
56
 
@@ -51,7 +65,11 @@ describe("ConceptLinkActions", () => {
51
65
  it("should handle href without link id", async () => {
52
66
  const action = { href: "/api/other/endpoint" };
53
67
  const rendered = render(
54
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
68
+ <DeleteLink
69
+ deleteRelation={deleteRelation}
70
+ action={action}
71
+ loading={false}
72
+ />,
55
73
  );
56
74
  await waitForLoad(rendered);
57
75
 
@@ -66,7 +84,11 @@ describe("ConceptLinkActions", () => {
66
84
  it("should handle null href", async () => {
67
85
  const action = { href: null };
68
86
  const rendered = render(
69
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
87
+ <DeleteLink
88
+ deleteRelation={deleteRelation}
89
+ action={action}
90
+ loading={false}
91
+ />,
70
92
  );
71
93
  await waitForLoad(rendered);
72
94
 
@@ -81,7 +103,11 @@ describe("ConceptLinkActions", () => {
81
103
  it("should handle undefined href", async () => {
82
104
  const action = {};
83
105
  const rendered = render(
84
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
106
+ <DeleteLink
107
+ deleteRelation={deleteRelation}
108
+ action={action}
109
+ loading={false}
110
+ />,
85
111
  );
86
112
  await waitForLoad(rendered);
87
113
 
@@ -96,7 +122,11 @@ describe("ConceptLinkActions", () => {
96
122
  it("should open and close modal correctly", async () => {
97
123
  const action = { href: "/api/links/789" };
98
124
  const rendered = render(
99
- <DeleteLink deleteRelation={deleteRelation} action={action} loading={false} />
125
+ <DeleteLink
126
+ deleteRelation={deleteRelation}
127
+ action={action}
128
+ loading={false}
129
+ />,
100
130
  );
101
131
  await waitForLoad(rendered);
102
132
 
@@ -108,9 +138,10 @@ describe("ConceptLinkActions", () => {
108
138
  const cancelButton = rendered.getByLabelText("modal-negative-action");
109
139
  await user.click(cancelButton);
110
140
 
111
- expect(rendered.queryByLabelText("modal-affirmative-action")).not.toBeInTheDocument();
141
+ expect(
142
+ rendered.queryByLabelText("modal-affirmative-action"),
143
+ ).not.toBeInTheDocument();
112
144
  expect(deleteRelation).not.toHaveBeenCalled();
113
145
  });
114
146
  });
115
147
  });
116
-
@@ -3,12 +3,12 @@ import { render, waitForLoad } from "@truedat/test/render";
3
3
  import ConceptLinksActions from "../ConceptLinksActions";
4
4
 
5
5
  jest.mock("@truedat/ai/components/SuggestLinkButton", () =>
6
- jest.fn(() => <div>MockSuggestLinkButton</div>)
6
+ jest.fn(() => <div>MockSuggestLinkButton</div>),
7
7
  );
8
8
 
9
9
  jest.mock("@truedat/core/search/SearchContext", () => {
10
10
  const originalModule = jest.requireActual(
11
- "@truedat/core/search/SearchContext"
11
+ "@truedat/core/search/SearchContext",
12
12
  );
13
13
 
14
14
  return {
@@ -49,7 +49,7 @@ describe("<ConceptLinksActions />", () => {
49
49
 
50
50
  const rendered = render(
51
51
  <ConceptLinksActions onGrantViewChange={jest.fn()} />,
52
- grRenderOpts
52
+ grRenderOpts,
53
53
  );
54
54
  await waitForLoad(rendered);
55
55
  expect(rendered.container).toMatchSnapshot();
@@ -60,7 +60,7 @@ describe("<ConceptLinksActions />", () => {
60
60
 
61
61
  const rendered = render(
62
62
  <ConceptLinksActions onGrantViewChange={jest.fn()} />,
63
- renderOpts
63
+ renderOpts,
64
64
  );
65
65
  await waitForLoad(rendered);
66
66
  expect(rendered.container).toMatchSnapshot();
@@ -82,7 +82,7 @@ describe("<ConceptLinksActions />", () => {
82
82
 
83
83
  const rendered = render(
84
84
  <ConceptLinksActions onGrantViewChange={jest.fn()} />,
85
- suggestRenderOpts
85
+ suggestRenderOpts,
86
86
  );
87
87
  await waitForLoad(rendered);
88
88
  expect(rendered.getByText("MockSuggestLinkButton")).toBeInTheDocument();
@@ -1,6 +1,6 @@
1
1
  import { render, waitForLoad } from "@truedat/test/render";
2
- import LinksApprovalResults from "../ConceptLinksApprovalResults";
3
2
  import { useLocation } from "react-router";
3
+ import LinksApprovalResults from "../ConceptLinksApprovalResults";
4
4
 
5
5
  jest.mock("react-router", () => {
6
6
  const actual = jest.requireActual("react-router");
@@ -4,7 +4,7 @@ import { ConceptLinksApprovals } from "../ConceptLinksApprovals";
4
4
 
5
5
  jest.mock("@truedat/core/search/SearchContext", () => {
6
6
  const originalModule = jest.requireActual(
7
- "@truedat/core/search/SearchContext"
7
+ "@truedat/core/search/SearchContext",
8
8
  );
9
9
 
10
10
  return {
@@ -4,7 +4,7 @@ import { ConceptLinksApprovalsLabelResults } from "../ConceptLinksApprovalsLabel
4
4
 
5
5
  jest.mock("@truedat/core/search/SearchContext", () => {
6
6
  const originalModule = jest.requireActual(
7
- "@truedat/core/search/SearchContext"
7
+ "@truedat/core/search/SearchContext",
8
8
  );
9
9
 
10
10
  return {
@@ -20,7 +20,7 @@ describe("ConceptLinksApprovalsRow", () => {
20
20
 
21
21
  it("renders null when columns are empty", async () => {
22
22
  const rendered = render(
23
- <ConceptLinksApprovalsRow {...defaultProps} columns={[]} />
23
+ <ConceptLinksApprovalsRow {...defaultProps} columns={[]} />,
24
24
  );
25
25
  await waitForLoad(rendered);
26
26
  expect(rendered.container).toMatchSnapshot();
@@ -28,7 +28,7 @@ describe("ConceptLinksApprovalsRow", () => {
28
28
 
29
29
  it("renders null when link is empty", async () => {
30
30
  const rendered = render(
31
- <ConceptLinksApprovalsRow {...defaultProps} link={{}} />
31
+ <ConceptLinksApprovalsRow {...defaultProps} link={{}} />,
32
32
  );
33
33
  await waitForLoad(rendered);
34
34
  expect(rendered.container).toMatchSnapshot();
@@ -36,7 +36,7 @@ describe("ConceptLinksApprovalsRow", () => {
36
36
 
37
37
  it("renders row with checkbox when approveView is true", async () => {
38
38
  const rendered = render(
39
- <ConceptLinksApprovalsRow {...defaultProps} approveView={true} />
39
+ <ConceptLinksApprovalsRow {...defaultProps} approveView={true} />,
40
40
  );
41
41
  await waitForLoad(rendered);
42
42
  expect(rendered.container).toMatchSnapshot();
@@ -44,7 +44,7 @@ describe("ConceptLinksApprovalsRow", () => {
44
44
 
45
45
  it("renders row without checkbox when approveView is false", async () => {
46
46
  const rendered = render(
47
- <ConceptLinksApprovalsRow {...defaultProps} approveView={false} />
47
+ <ConceptLinksApprovalsRow {...defaultProps} approveView={false} />,
48
48
  );
49
49
  await waitForLoad(rendered);
50
50
  expect(rendered.container).toMatchSnapshot();
@@ -57,7 +57,7 @@ describe("ConceptLinksApprovalsRow", () => {
57
57
  {...defaultProps}
58
58
  approveView={true}
59
59
  onCheckboxChange={onCheckboxChange}
60
- />
60
+ />,
61
61
  );
62
62
  await waitForLoad(rendered);
63
63
 
@@ -4,7 +4,7 @@ import { ConceptLinksApprovalsTable } from "../ConceptLinksApprovalsTable";
4
4
 
5
5
  jest.mock("@truedat/core/search/SearchContext", () => {
6
6
  const originalModule = jest.requireActual(
7
- "@truedat/core/search/SearchContext"
7
+ "@truedat/core/search/SearchContext",
8
8
  );
9
9
 
10
10
  return {
@@ -6,7 +6,7 @@ import { ConceptLinkstRequestGrantButton } from "../ConceptLinkstRequestGrantBut
6
6
 
7
7
  jest.mock("@truedat/core/search/SearchContext", () => {
8
8
  const originalModule = jest.requireActual(
9
- "@truedat/core/search/SearchContext"
9
+ "@truedat/core/search/SearchContext",
10
10
  );
11
11
 
12
12
  return {
@@ -30,7 +30,7 @@ describe("<ConceptLinkstRequestGrantButton />", () => {
30
30
 
31
31
  const { container } = render(
32
32
  <ConceptLinkstRequestGrantButton onGrantViewChange={jest.fn()} />,
33
- renderOpts
33
+ renderOpts,
34
34
  );
35
35
 
36
36
  expect(container).toMatchSnapshot();
@@ -38,11 +38,16 @@ describe("<ConceptLinkstRequestGrantButton />", () => {
38
38
 
39
39
  it("should not add a structure to the cart if it is already requested", async () => {
40
40
  const addGrantRequestToCart = jest.fn();
41
- useSearchContext.mockReturnValue({ searchData: { data: [{ id: "1" }, { id: "2" }] } });
41
+ useSearchContext.mockReturnValue({
42
+ searchData: { data: [{ id: "1" }, { id: "2" }] },
43
+ });
42
44
 
43
45
  const rendered = render(
44
- <ConceptLinkstRequestGrantButton onGrantViewChange={jest.fn()} addGrantRequestToCart={addGrantRequestToCart} />,
45
- { state: { grantRequestsCart: { structures: [{ id: "1" }] } } }
46
+ <ConceptLinkstRequestGrantButton
47
+ onGrantViewChange={jest.fn()}
48
+ addGrantRequestToCart={addGrantRequestToCart}
49
+ />,
50
+ { state: { grantRequestsCart: { structures: [{ id: "1" }] } } },
46
51
  );
47
52
  await waitForLoad(rendered);
48
53
  const user = userEvent.setup({ delay: null });
@@ -43,7 +43,7 @@ const filterData = {
43
43
 
44
44
  jest.mock("@truedat/bg/concepts/hooks/useConcepts", () => {
45
45
  const originalModule = jest.requireActual(
46
- "@truedat/bg/concepts/hooks/useConcepts"
46
+ "@truedat/bg/concepts/hooks/useConcepts",
47
47
  );
48
48
 
49
49
  return {
@@ -118,7 +118,7 @@ describe("<ConceptRelationForm />", () => {
118
118
 
119
119
  await user.click(await rendered.findByText(/bar concept/i));
120
120
  await user.click(
121
- await rendered.findByRole("option", { name: /relates_to/i })
121
+ await rendered.findByRole("option", { name: /relates_to/i }),
122
122
  );
123
123
 
124
124
  await waitFor(() => {
@@ -133,7 +133,7 @@ describe("<ConceptRelationForm />", () => {
133
133
 
134
134
  await user.click(await rendered.findByText(/bar concept/i));
135
135
  await user.click(
136
- await rendered.findByRole("option", { name: /relates_to/i })
136
+ await rendered.findByRole("option", { name: /relates_to/i }),
137
137
  );
138
138
 
139
139
  await waitFor(() => {
@@ -155,7 +155,7 @@ describe("<ConceptRelationForm />", () => {
155
155
  },
156
156
  };
157
157
  await waitFor(() =>
158
- expect(linkConcept).toHaveBeenCalledWith(expectedRelation)
158
+ expect(linkConcept).toHaveBeenCalledWith(expectedRelation),
159
159
  );
160
160
  });
161
161
  });
@@ -1,7 +1,7 @@
1
1
  import { act, fireEvent, waitFor } from "@testing-library/react";
2
2
  import { render, waitForLoad } from "@truedat/test/render";
3
- import { ConceptRelations } from "../ConceptRelations";
4
3
  import { setConfig } from "@truedat/core/truedatConfig";
4
+ import { ConceptRelations } from "../ConceptRelations";
5
5
 
6
6
  const mockUseLocation = jest.fn(() => ({ pathname: "/bar" }));
7
7
  const mockUseNavigate = jest.fn(() => jest.fn());
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
2
  import { render, waitForLoad } from "@truedat/test/render";
3
- import ConceptRelationsRoutes from "../ConceptRelationsRoutes";
4
3
  import {
5
4
  CONCEPT_LINKS_CONCEPTS,
6
5
  CONCEPT_LINKS_CONCEPTS_NEW,
@@ -8,6 +7,7 @@ import {
8
7
  CONCEPT_LINKS_STRUCTURES_NEW,
9
8
  CONCEPT_LINKS_IMPLEMENTATIONS,
10
9
  } from "@truedat/core/routes";
10
+ import ConceptRelationsRoutes from "../ConceptRelationsRoutes";
11
11
 
12
12
  // Mock child components
13
13
  jest.mock("@truedat/lm/components/ConceptStructureLinkForm", () => () => (
@@ -37,7 +37,7 @@ const filterData = {
37
37
 
38
38
  jest.mock("@truedat/bg/concepts/hooks/useConcepts", () => {
39
39
  const originalModule = jest.requireActual(
40
- "@truedat/bg/concepts/hooks/useConcepts"
40
+ "@truedat/bg/concepts/hooks/useConcepts",
41
41
  );
42
42
 
43
43
  return {
@@ -81,8 +81,8 @@ describe("<ConceptSelector />", () => {
81
81
  await waitForLoad(rendered);
82
82
  expect(
83
83
  rendered.container.querySelector(
84
- 'button[data-tooltip="concepts.actions.downloadLinks.tooltip"]'
85
- )
84
+ 'button[data-tooltip="concepts.actions.downloadLinks.tooltip"]',
85
+ ),
86
86
  ).toBeInTheDocument();
87
87
  expect(rendered.container).toMatchSnapshot();
88
88
  });
@@ -95,7 +95,7 @@ describe("<ConceptSelector />", () => {
95
95
 
96
96
  it("renders no title when is not specified", async () => {
97
97
  const rendered = render(
98
- <ConceptSelector {...{ ...props, showTitle: false }} />
98
+ <ConceptSelector {...{ ...props, showTitle: false }} />,
99
99
  );
100
100
  await waitForLoad(rendered);
101
101
  expect(rendered.queryByText(/relatedconcept/i)).not.toBeInTheDocument();
@@ -104,16 +104,16 @@ describe("<ConceptSelector />", () => {
104
104
  it("calls handleConceptSelected on concept row click", async () => {
105
105
  const user = userEvent.setup({ delay: null });
106
106
  const rendered = render(
107
- <ConceptSelector {...{ ...props, selectedConcept: null }} />
107
+ <ConceptSelector {...{ ...props, selectedConcept: null }} />,
108
108
  );
109
109
  await waitForLoad(rendered);
110
110
 
111
111
  await user.click(await rendered.findByText(/foo/i));
112
112
  await waitFor(() =>
113
- expect(handleConceptSelected.mock.calls.length).toBe(1)
113
+ expect(handleConceptSelected.mock.calls.length).toBe(1),
114
114
  );
115
115
  expect(handleConceptSelected).toHaveBeenCalledWith(
116
- expect.objectContaining(concept)
116
+ expect.objectContaining(concept),
117
117
  );
118
118
  });
119
119
  });
@@ -175,17 +175,17 @@ describe("<ConceptSelectorTable />", () => {
175
175
  const rendered = render(
176
176
  <ConceptSelectorTable
177
177
  {...{ ...props, concepts: [], selectedConcept: null }}
178
- />
178
+ />,
179
179
  );
180
180
  // It should render the Message with the empty results header id
181
181
  expect(
182
- rendered.getByText("concepts.search.results.empty")
182
+ rendered.getByText("concepts.search.results.empty"),
183
183
  ).toBeInTheDocument();
184
184
  });
185
185
 
186
186
  test("renders Table when there are concepts", async () => {
187
187
  const rendered = render(
188
- <ConceptSelectorTable {...{ ...props, selectedConcept: { id: 1 } }} />
188
+ <ConceptSelectorTable {...{ ...props, selectedConcept: { id: 1 } }} />,
189
189
  );
190
190
  await waitForLoad(rendered);
191
191
 
@@ -6,7 +6,7 @@ import { useConceptContext } from "../../../components/ConceptContext";
6
6
 
7
7
  jest.mock("../../../components/ConceptContext", () => {
8
8
  const originalModule = jest.requireActual(
9
- "../../../components/ConceptContext"
9
+ "../../../components/ConceptContext",
10
10
  );
11
11
 
12
12
  return {
@@ -26,11 +26,9 @@ jest.mock("@truedat/dd/hooks/useStructures", () => ({
26
26
  }),
27
27
  }));
28
28
 
29
-
30
-
31
29
  jest.mock("@truedat/core/search/SearchContext", () => {
32
30
  const originalModule = jest.requireActual(
33
- "@truedat/core/search/SearchContext"
31
+ "@truedat/core/search/SearchContext",
34
32
  );
35
33
 
36
34
  return {
@@ -62,9 +60,7 @@ describe("<ConceptStructureLinksPane />", () => {
62
60
  searchData: [],
63
61
  });
64
62
 
65
- const rendered = render(
66
- <ConceptStructureLinksPane {...props} />
67
- );
63
+ const rendered = render(<ConceptStructureLinksPane {...props} />);
68
64
 
69
65
  await waitForLoad(rendered);
70
66
  await rendered.findByText(/foo/i);
@@ -38,7 +38,7 @@ describe("<SliderWithFilter />", () => {
38
38
 
39
39
  it("shows badge with count when filters are applied", () => {
40
40
  render(
41
- <SliderWithFilter {...defaultProps} traversalTags={["tag-a", "tag-b"]} />
41
+ <SliderWithFilter {...defaultProps} traversalTags={["tag-a", "tag-b"]} />,
42
42
  );
43
43
 
44
44
  expect(screen.getByText("2")).toBeInTheDocument();
@@ -66,7 +66,7 @@ describe("<SliderWithFilter />", () => {
66
66
  <SliderWithFilter
67
67
  {...defaultProps}
68
68
  onTraversalTagsChange={onTraversalTagsChange}
69
- />
69
+ />,
70
70
  );
71
71
 
72
72
  fireEvent.click(screen.getByText("relations.tags.filter.label"));
@@ -84,7 +84,7 @@ describe("<SliderWithFilter />", () => {
84
84
  {...defaultProps}
85
85
  traversalTags={["tag-a"]}
86
86
  onTraversalTagsChange={onTraversalTagsChange}
87
- />
87
+ />,
88
88
  );
89
89
 
90
90
  fireEvent.click(screen.getByText("relations.tags.filter.label"));
@@ -94,9 +94,7 @@ describe("<SliderWithFilter />", () => {
94
94
  });
95
95
 
96
96
  it("shows clear button when filters are applied", () => {
97
- render(
98
- <SliderWithFilter {...defaultProps} traversalTags={["tag-a"]} />
99
- );
97
+ render(<SliderWithFilter {...defaultProps} traversalTags={["tag-a"]} />);
100
98
 
101
99
  expect(screen.getByText("relations.tags.clear")).toBeInTheDocument();
102
100
  });
@@ -114,7 +112,7 @@ describe("<SliderWithFilter />", () => {
114
112
  {...defaultProps}
115
113
  traversalTags={["tag-a"]}
116
114
  onTraversalTagsChange={onTraversalTagsChange}
117
- />
115
+ />,
118
116
  );
119
117
 
120
118
  fireEvent.click(screen.getByText("relations.tags.clear"));
@@ -126,7 +124,7 @@ describe("<SliderWithFilter />", () => {
126
124
  render(
127
125
  <SliderWithFilter {...defaultProps}>
128
126
  <div data-testid="depth-slider">slider</div>
129
- </SliderWithFilter>
127
+ </SliderWithFilter>,
130
128
  );
131
129
 
132
130
  expect(screen.getByTestId("depth-slider")).toBeInTheDocument();
@@ -8,21 +8,21 @@ import {
8
8
 
9
9
  export const useLinksBulkUpdateStatus = () => {
10
10
  return useSWRMutations(API_RELATIONS_BULK_UPDATE_STATUS, (url, { arg }) =>
11
- apiJsonPost(url, arg)
11
+ apiJsonPost(url, arg),
12
12
  );
13
13
  };
14
14
 
15
15
  export const useLinksSearch = (params) => {
16
16
  const query = queryString(params);
17
17
  return useSWRMutations(API_RELATIONS_SEARCH, (url, { arg }) =>
18
- apiJsonPost(`${url}${query}`, arg)
18
+ apiJsonPost(`${url}${query}`, arg),
19
19
  );
20
20
  };
21
21
 
22
22
  export const useLinksFilters = (params) => {
23
23
  const query = queryString(params);
24
24
  return useSWRMutations(API_RELATIONS_FILTERS, (url, { arg }) =>
25
- apiJsonPost(`${url}${query}`, arg)
25
+ apiJsonPost(`${url}${query}`, arg),
26
26
  );
27
27
  };
28
28
 
@@ -25,7 +25,7 @@ export function* linkConceptSaga({ payload }) {
25
25
  apiJsonPost,
26
26
  API_RELATIONS,
27
27
  requestData,
28
- JSON_OPTS
28
+ JSON_OPTS,
29
29
  );
30
30
  yield put({ meta, ...linkConcept.success(data) });
31
31
  } catch (error) {
@@ -17,7 +17,7 @@ describe("selectors: getBusinessConceptsLinksToImplementationsColumns", () => {
17
17
  const res = getBusinessConceptsLinksToImplementationsColumns({});
18
18
 
19
19
  expect(res).toHaveLength(
20
- defaultBusinessConceptsLinksToImplementationsColumns.length
20
+ defaultBusinessConceptsLinksToImplementationsColumns.length,
21
21
  );
22
22
  });
23
23
  });
@@ -102,5 +102,5 @@ export const defaultBusinessConceptsLinksToImplementationsColumns = [
102
102
 
103
103
  export const getBusinessConceptsLinksToImplementationsColumns = createSelector(
104
104
  _.prop("businessConceptsLinksToImplementationsColumns"),
105
- _.defaultTo(defaultBusinessConceptsLinksToImplementationsColumns)
105
+ _.defaultTo(defaultBusinessConceptsLinksToImplementationsColumns),
106
106
  );
@@ -8,7 +8,7 @@ const orderedLinks = (links) =>
8
8
  _.flow(
9
9
  _.filter(_.propEq("resource_type", "implementation")),
10
10
  _.map((impl) => ({ ...impl, id: impl.resource_id })),
11
- _.sortBy(accentInsensitivePathOrder("implementation_key"))
11
+ _.sortBy(accentInsensitivePathOrder("implementation_key")),
12
12
  )(links);
13
13
 
14
14
  const implementationLinks = _.flow(
@@ -16,12 +16,12 @@ const implementationLinks = _.flow(
16
16
  _.filter(({ deleted_at }) => _.isEmpty(deleted_at)),
17
17
  _.groupBy(_.pathOr("\uffee")("tags[0]")),
18
18
  _.toPairs,
19
- _.sortBy(([k]) => k)
19
+ _.sortBy(([k]) => k),
20
20
  );
21
21
 
22
22
  const deletedImplementationLinks = _.flow(
23
23
  orderedLinks,
24
- _.filter(({ deleted_at }) => _.negate(_.isEmpty)(deleted_at))
24
+ _.filter(({ deleted_at }) => _.negate(_.isEmpty)(deleted_at)),
25
25
  );
26
26
  export const getConceptImplementationLinks = createSelector(
27
27
  [getLinks],
@@ -30,5 +30,5 @@ export const getConceptImplementationLinks = createSelector(
30
30
  ...implementationLinks(links),
31
31
  ["deleted", deletedImplementationLinks(links)],
32
32
  ];
33
- }
33
+ },
34
34
  );
@@ -81,14 +81,14 @@ const withDeletedAttribute = (conceptLinks, columns) =>
81
81
  textAlign: "center",
82
82
  width: 2,
83
83
  }
84
- : c
84
+ : c,
85
85
  )(columns)
86
86
  : columns;
87
87
 
88
88
  const mapColumns = (conceptLinks, columns) =>
89
89
  _.flow(
90
90
  (cols) => withActions(conceptLinks, cols),
91
- (cols) => withDeletedAttribute(conceptLinks, cols)
91
+ (cols) => withDeletedAttribute(conceptLinks, cols),
92
92
  )(columns);
93
93
 
94
94
  const withHeaders = (pair, columns) => [
@@ -105,7 +105,7 @@ const add_structure_type = (link, structureTypes) => ({
105
105
  const orderedLinks = (links) =>
106
106
  _.flow(
107
107
  _.filter(_.propEq("resource_type", "data_structure")),
108
- _.sortBy(accentInsensitivePathOrder("name"))
108
+ _.sortBy(accentInsensitivePathOrder("name")),
109
109
  )(links);
110
110
 
111
111
  const conceptLinks = (links, columns) =>
@@ -115,13 +115,13 @@ const conceptLinks = (links, columns) =>
115
115
  _.groupBy("\uffee"),
116
116
  _.toPairs,
117
117
  _.sortBy(([k]) => k),
118
- _.map((pair) => withHeaders(pair, columns))
118
+ _.map((pair) => withHeaders(pair, columns)),
119
119
  )(links);
120
120
 
121
121
  const conceptDeletedLinks = (links, columns) => {
122
122
  const deleted = _.flow(
123
123
  orderedLinks,
124
- _.filter(({ deleted_at }) => _.negate(_.isEmpty)(deleted_at))
124
+ _.filter(({ deleted_at }) => _.negate(_.isEmpty)(deleted_at)),
125
125
  )(links);
126
126
  return _.isEmpty(deleted) ? [] : [withHeaders(["deleted", deleted], columns)];
127
127
  };
@@ -130,12 +130,12 @@ export const getConceptLinks = createSelector(
130
130
  [getLinks, getBusinessConceptsLinksToStructuresColumns, getStructureTypes],
131
131
  (links, columns, structureTypes) => {
132
132
  const linksWithDataStructureType = _.map((link) =>
133
- add_structure_type(link, structureTypes)
133
+ add_structure_type(link, structureTypes),
134
134
  )(links);
135
135
 
136
136
  return [
137
137
  ...conceptLinks(linksWithDataStructureType, columns),
138
138
  ...conceptDeletedLinks(linksWithDataStructureType, columns),
139
139
  ];
140
- }
140
+ },
141
141
  );