@truedat/bg 8.6.7 → 8.7.1

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 (138) 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/ConceptCreate.js +17 -8
  7. package/src/concepts/components/ConceptCrumbs.js +1 -1
  8. package/src/concepts/components/ConceptDetails.js +1 -1
  9. package/src/concepts/components/ConceptEdit.js +8 -4
  10. package/src/concepts/components/ConceptForm.js +4 -4
  11. package/src/concepts/components/ConceptHeader.js +2 -2
  12. package/src/concepts/components/ConceptLinksDropdownSelector.js +2 -2
  13. package/src/concepts/components/ConceptLinksUploadButton.js +1 -1
  14. package/src/concepts/components/ConceptLoader.js +1 -1
  15. package/src/concepts/components/ConceptRoutes.js +7 -5
  16. package/src/concepts/components/ConceptSubscription.js +2 -2
  17. package/src/concepts/components/ConceptSuggestions.js +40 -43
  18. package/src/concepts/components/ConceptTabs.js +12 -12
  19. package/src/concepts/components/ConceptsActions.js +1 -3
  20. package/src/concepts/components/ConceptsBulkUpdate.js +2 -2
  21. package/src/concepts/components/ConceptsLinksManagement.js +6 -6
  22. package/src/concepts/components/ConceptsTable.js +1 -1
  23. package/src/concepts/components/ConceptsUpdateButton.js +1 -1
  24. package/src/concepts/components/ConceptsUploadButton.js +27 -22
  25. package/src/concepts/components/ConceptsUploadEventsTable.js +9 -6
  26. package/src/concepts/components/EventRow.js +7 -3
  27. package/src/concepts/components/SharedToForm.js +4 -1
  28. package/src/concepts/components/__tests__/Concept.spec.js +2 -2
  29. package/src/concepts/components/__tests__/ConceptArchiveRow.spec.js +1 -1
  30. package/src/concepts/components/__tests__/ConceptCompleteness.spec.js +1 -1
  31. package/src/concepts/components/__tests__/ConceptContext.spec.js +3 -3
  32. package/src/concepts/components/__tests__/ConceptDeleteModalBody.spec.js +6 -6
  33. package/src/concepts/components/__tests__/ConceptEdit.spec.js +4 -4
  34. package/src/concepts/components/__tests__/ConceptForm.spec.js +4 -4
  35. package/src/concepts/components/__tests__/ConceptHeader.spec.js +3 -3
  36. package/src/concepts/components/__tests__/ConceptLinksManagement.spec.js +2 -2
  37. package/src/concepts/components/__tests__/ConceptLinksUploadButton.spec.js +1 -1
  38. package/src/concepts/components/__tests__/ConceptManageDomainPopup.spec.js +10 -10
  39. package/src/concepts/components/__tests__/ConceptRoutes.spec.js +3 -3
  40. package/src/concepts/components/__tests__/ConceptRow.spec.js +2 -2
  41. package/src/concepts/components/__tests__/ConceptSubscription.spec.js +1 -1
  42. package/src/concepts/components/__tests__/ConceptSuggestions.spec.js +60 -48
  43. package/src/concepts/components/__tests__/ConceptTabPane.spec.js +1 -1
  44. package/src/concepts/components/__tests__/ConceptTabs.spec.js +10 -4
  45. package/src/concepts/components/__tests__/Concepts.spec.js +1 -1
  46. package/src/concepts/components/__tests__/ConceptsActions.spec.js +1 -1
  47. package/src/concepts/components/__tests__/ConceptsBulkUpdate.spec.js +3 -3
  48. package/src/concepts/components/__tests__/ConceptsLabelResults.spec.js +1 -1
  49. package/src/concepts/components/__tests__/ConceptsPanel.spec.js +1 -1
  50. package/src/concepts/components/__tests__/ConceptsTable.spec.js +16 -16
  51. package/src/concepts/components/__tests__/ConceptsUpdateButton.spec.js +2 -2
  52. package/src/concepts/components/__tests__/ConceptsUploadButton.spec.js +3 -3
  53. package/src/concepts/components/__tests__/Events.spec.js +6 -4
  54. package/src/concepts/components/__tests__/SharedToDomains.spec.js +1 -1
  55. package/src/concepts/components/__tests__/SharedToDomainsPopup.spec.js +5 -5
  56. package/src/concepts/components/__tests__/SharedToForm.spec.js +4 -4
  57. package/src/concepts/constants/mappings.js +6 -6
  58. package/src/concepts/hooks/useConcepts.js +6 -6
  59. package/src/concepts/hooks/useUploadEvents.js +1 -1
  60. package/src/concepts/reducers/__tests__/bulkUpdateLoading.spec.js +2 -2
  61. package/src/concepts/reducers/__tests__/concept.spec.js +7 -7
  62. package/src/concepts/reducers/__tests__/conceptActions.spec.js +5 -5
  63. package/src/concepts/reducers/__tests__/conceptArchive.spec.js +2 -2
  64. package/src/concepts/reducers/__tests__/conceptArchiveLoading.spec.js +2 -2
  65. package/src/concepts/reducers/__tests__/conceptLoading.spec.js +1 -1
  66. package/src/concepts/reducers/__tests__/conceptPermissions.spec.js +7 -7
  67. package/src/concepts/reducers/__tests__/conceptRedirect.spec.js +17 -17
  68. package/src/concepts/reducers/__tests__/conceptUpdating.spec.js +2 -2
  69. package/src/concepts/reducers/__tests__/conceptsDownloading.spec.js +2 -2
  70. package/src/concepts/reducers/__tests__/savingSharedTo.spec.js +1 -1
  71. package/src/concepts/reducers/__tests__/sharedToDomains.spec.js +6 -6
  72. package/src/concepts/reducers/conceptArchive.js +1 -1
  73. package/src/concepts/reducers/conceptRedirect.js +2 -6
  74. package/src/concepts/relations/components/ConceptImplementationLinks.js +5 -5
  75. package/src/concepts/relations/components/ConceptLinkActions.js +3 -1
  76. package/src/concepts/relations/components/ConceptLinksApprovalResults.js +2 -1
  77. package/src/concepts/relations/components/ConceptLinksApprovals.js +4 -4
  78. package/src/concepts/relations/components/ConceptLinkstRequestGrantButton.js +2 -2
  79. package/src/concepts/relations/components/ConceptRelationForm.js +2 -2
  80. package/src/concepts/relations/components/ConceptRelationRow.js +2 -2
  81. package/src/concepts/relations/components/ConceptRelations.js +19 -33
  82. package/src/concepts/relations/components/ConceptRelationsRoutes.js +3 -3
  83. package/src/concepts/relations/components/ConceptRelationsSummary.js +2 -2
  84. package/src/concepts/relations/components/ConceptSelector.js +4 -4
  85. package/src/concepts/relations/components/ConceptStructureLinks.js +1 -1
  86. package/src/concepts/relations/components/SliderWithFilter.js +20 -7
  87. package/src/concepts/relations/components/__tests__/ConceptImplementationLinks.spec.js +0 -1
  88. package/src/concepts/relations/components/__tests__/ConceptLinkActions.spec.js +41 -10
  89. package/src/concepts/relations/components/__tests__/ConceptLinksActions.spec.js +5 -5
  90. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalResults.spec.js +1 -1
  91. package/src/concepts/relations/components/__tests__/ConceptLinksApprovals.spec.js +1 -1
  92. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsLabelResults.spec.js +1 -1
  93. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsRow.spec.js +5 -5
  94. package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsTable.spec.js +1 -1
  95. package/src/concepts/relations/components/__tests__/ConceptLinkstRequestGrantButton.spec.js +10 -5
  96. package/src/concepts/relations/components/__tests__/ConceptRelationForm.spec.js +4 -4
  97. package/src/concepts/relations/components/__tests__/ConceptRelations.spec.js +1 -1
  98. package/src/concepts/relations/components/__tests__/ConceptRelationsRoutes.spec.js +1 -1
  99. package/src/concepts/relations/components/__tests__/ConceptSelector.spec.js +10 -10
  100. package/src/concepts/relations/components/__tests__/ConceptStructureLinks.spec.js +3 -7
  101. package/src/concepts/relations/components/__tests__/SliderWithFilter.spec.js +6 -8
  102. package/src/concepts/relations/hooks/useLinks.js +3 -3
  103. package/src/concepts/relations/sagas/linkConcept.js +1 -1
  104. package/src/concepts/relations/selectors/__tests__/getBusinessConceptsLinksToImplementationsColumns.spec.js +1 -1
  105. package/src/concepts/relations/selectors/getBusinessConceptsLinksToImplementationsColumns.js +1 -1
  106. package/src/concepts/relations/selectors/getConceptImplementationLinks.js +4 -4
  107. package/src/concepts/relations/selectors/getConceptLinks.js +7 -7
  108. package/src/concepts/relations/selectors/getConceptRelations.js +9 -9
  109. package/src/concepts/relations/selectors/getLinksSearchColumns.js +3 -3
  110. package/src/concepts/sagas/bulkUpdate.js +1 -1
  111. package/src/concepts/selectors/__tests__/getConceptDomainPath.spec.js +1 -1
  112. package/src/concepts/selectors/getConceptColumns.js +1 -1
  113. package/src/concepts/selectors/getConceptDomainPath.js +1 -1
  114. package/src/concepts/selectors/getConceptUploadEventColumns.js +1 -1
  115. package/src/concepts/selectors/getConceptVersionPath.js +1 -1
  116. package/src/concepts/selectors/getTemplateFields.js +1 -1
  117. package/src/concepts/selectors/getTemplateGroups.js +1 -1
  118. package/src/hooks/useDomains.js +2 -2
  119. package/src/messages/index.js +1 -1
  120. package/src/taxonomy/components/DomainActions.js +4 -4
  121. package/src/taxonomy/components/DomainCards.js +3 -3
  122. package/src/taxonomy/components/DomainContent.js +1 -1
  123. package/src/taxonomy/components/DomainForm.js +6 -6
  124. package/src/taxonomy/components/DomainImplementations.js +2 -3
  125. package/src/taxonomy/components/DomainTabs.js +2 -2
  126. package/src/taxonomy/components/__tests__/Domain.spec.js +6 -6
  127. package/src/taxonomy/components/__tests__/DomainCards.spec.js +1 -1
  128. package/src/taxonomy/components/__tests__/DomainContent.spec.js +10 -10
  129. package/src/taxonomy/components/__tests__/DomainForm.spec.js +5 -5
  130. package/src/taxonomy/components/__tests__/DomainImplmentation.spec.js +3 -3
  131. package/src/taxonomy/components/__tests__/DomainRoutes.spec.js +1 -1
  132. package/src/taxonomy/components/__tests__/DomainStructures.spec.js +5 -3
  133. package/src/taxonomy/components/__tests__/DomainTabs.spec.js +7 -7
  134. package/src/taxonomy/components/__tests__/Domains.spec.js +8 -8
  135. package/src/taxonomy/components/__tests__/DomainsActions.spec.js +1 -1
  136. package/src/taxonomy/selectors/__tests__/getVisibleDomains.spec.js +4 -4
  137. package/src/taxonomy/selectors/getDomainsConcept.js +9 -9
  138. package/src/taxonomy/selectors/index.js +8 -8
@@ -59,7 +59,15 @@ const SquareCheckIcon = ({ color = "#f87201" }) => (
59
59
  strokeLinecap="round"
60
60
  strokeLinejoin="round"
61
61
  >
62
- <rect x="3" y="3" width="18" height="18" rx="2" fill={color} stroke={color} />
62
+ <rect
63
+ x="3"
64
+ y="3"
65
+ width="18"
66
+ height="18"
67
+ rx="2"
68
+ fill={color}
69
+ stroke={color}
70
+ />
63
71
  <polyline points="9 12 11 14 15 10" />
64
72
  </svg>
65
73
  );
@@ -78,7 +86,11 @@ const TagChip = ({ text, selected, onClick, color }) => (
78
86
  onClick={onClick}
79
87
  title={text}
80
88
  >
81
- {selected ? <SquareCheckIcon color={color} /> : <SquareIcon color={color} />}
89
+ {selected ? (
90
+ <SquareCheckIcon color={color} />
91
+ ) : (
92
+ <SquareIcon color={color} />
93
+ )}
82
94
  <span
83
95
  className="slider-with-filter__chip-text"
84
96
  style={color ? { "--td-chip-color": color } : undefined}
@@ -107,7 +119,7 @@ const SliderWithFilter = ({
107
119
  e.stopPropagation();
108
120
  onTraversalTagsChange?.(null, { value: [] });
109
121
  },
110
- [onTraversalTagsChange]
122
+ [onTraversalTagsChange],
111
123
  );
112
124
 
113
125
  const handleToggleTag = useCallback(
@@ -117,7 +129,7 @@ const SliderWithFilter = ({
117
129
  : [...traversalTags, tagValue];
118
130
  onTraversalTagsChange?.(null, { value: next });
119
131
  },
120
- [traversalTags, onTraversalTagsChange]
132
+ [traversalTags, onTraversalTagsChange],
121
133
  );
122
134
 
123
135
  return (
@@ -145,7 +157,9 @@ const SliderWithFilter = ({
145
157
  key={opt.value}
146
158
  text={opt.text}
147
159
  selected={traversalTags.includes(opt.value)}
148
- color={opt.type && colorMap ? colorMap.get(opt.type) : undefined}
160
+ color={
161
+ opt.type && colorMap ? colorMap.get(opt.type) : undefined
162
+ }
149
163
  onClick={(e) => {
150
164
  e.stopPropagation();
151
165
  handleToggleTag(opt.value);
@@ -155,7 +169,6 @@ const SliderWithFilter = ({
155
169
  </div>
156
170
  </div>
157
171
  )}
158
-
159
172
  </div>
160
173
 
161
174
  <div className="slider-with-filter__slider-area">
@@ -187,7 +200,7 @@ SliderWithFilter.propTypes = {
187
200
  PropTypes.shape({
188
201
  text: PropTypes.string,
189
202
  value: PropTypes.any,
190
- })
203
+ }),
191
204
  ),
192
205
  traversalTags: PropTypes.array,
193
206
  onTraversalTagsChange: PropTypes.func,
@@ -13,7 +13,6 @@ jest.mock("react-router", () => ({
13
13
 
14
14
  const columns = getBusinessConceptsLinksToImplementationsColumns({});
15
15
 
16
-
17
16
  describe("<ConceptImplementationLinks />", () => {
18
17
  it("matches the latest snapshot", async () => {
19
18
  const props = {
@@ -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
  );