@truedat/bg 7.10.4 → 7.11.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.
- package/package.json +3 -3
- package/src/concepts/components/ConceptLinksUploadButton.js +0 -4
- package/src/concepts/components/ConceptRoutes.js +28 -46
- package/src/concepts/components/__tests__/ConceptRoutes.spec.js +201 -0
- package/src/concepts/components/__tests__/__snapshots__/ConceptRoutes.spec.js.snap +165 -0
- package/src/concepts/relations/api.js +9 -1
- package/src/concepts/relations/components/ConceptImplementationLinks.js +2 -1
- package/src/concepts/relations/components/ConceptLinksApprovalResults.js +91 -0
- package/src/concepts/relations/components/ConceptLinksApprovals.js +225 -0
- package/src/concepts/relations/components/ConceptLinksApprovalsLabelResults.js +42 -0
- package/src/concepts/relations/components/ConceptLinksApprovalsRow.js +43 -0
- package/src/concepts/relations/components/ConceptLinksApprovalsTable.js +104 -0
- package/src/concepts/relations/components/__tests__/ConceptLinksApprovalResults.spec.js +123 -0
- package/src/concepts/relations/components/__tests__/ConceptLinksApprovals.spec.js +77 -0
- package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsLabelResults.spec.js +46 -0
- package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsRow.spec.js +68 -0
- package/src/concepts/relations/components/__tests__/ConceptLinksApprovalsTable.spec.js +107 -0
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptImplementationLinks.spec.js.snap +32 -32
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksApprovalResults.spec.js.snap +217 -0
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksApprovals.spec.js.snap +559 -0
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksApprovalsLabelResults.spec.js.snap +34 -0
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksApprovalsRow.spec.js.snap +47 -0
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksApprovalsTable.spec.js.snap +132 -0
- package/src/concepts/relations/hooks/useLinks.js +25 -0
- package/src/concepts/relations/selectors/getLinksSearchColumns.js +106 -0
- package/src/concepts/relations/selectors/index.js +2 -0
- package/src/concepts/relations/styles/ConceptLinksApprovals.less +15 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
2
|
+
import { ConceptLinksApprovalsRow } from "../ConceptLinksApprovalsRow";
|
|
3
|
+
|
|
4
|
+
describe("ConceptLinksApprovalsRow", () => {
|
|
5
|
+
const defaultProps = {
|
|
6
|
+
checked: false,
|
|
7
|
+
columns: [
|
|
8
|
+
{
|
|
9
|
+
key: "name",
|
|
10
|
+
textAlign: "left",
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
onCheckboxChange: jest.fn(),
|
|
14
|
+
link: {
|
|
15
|
+
id: "123",
|
|
16
|
+
name: "Test Link",
|
|
17
|
+
},
|
|
18
|
+
approveView: false,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
it("renders null when columns are empty", async () => {
|
|
22
|
+
const rendered = render(
|
|
23
|
+
<ConceptLinksApprovalsRow {...defaultProps} columns={[]} />
|
|
24
|
+
);
|
|
25
|
+
await waitForLoad(rendered);
|
|
26
|
+
expect(rendered.container).toMatchSnapshot();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("renders null when link is empty", async () => {
|
|
30
|
+
const rendered = render(
|
|
31
|
+
<ConceptLinksApprovalsRow {...defaultProps} link={{}} />
|
|
32
|
+
);
|
|
33
|
+
await waitForLoad(rendered);
|
|
34
|
+
expect(rendered.container).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it("renders row with checkbox when approveView is true", async () => {
|
|
38
|
+
const rendered = render(
|
|
39
|
+
<ConceptLinksApprovalsRow {...defaultProps} approveView={true} />
|
|
40
|
+
);
|
|
41
|
+
await waitForLoad(rendered);
|
|
42
|
+
expect(rendered.container).toMatchSnapshot();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("renders row without checkbox when approveView is false", async () => {
|
|
46
|
+
const rendered = render(
|
|
47
|
+
<ConceptLinksApprovalsRow {...defaultProps} approveView={false} />
|
|
48
|
+
);
|
|
49
|
+
await waitForLoad(rendered);
|
|
50
|
+
expect(rendered.container).toMatchSnapshot();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("calls onCheckboxChange when checkbox is clicked", async () => {
|
|
54
|
+
const onCheckboxChange = jest.fn();
|
|
55
|
+
const rendered = render(
|
|
56
|
+
<ConceptLinksApprovalsRow
|
|
57
|
+
{...defaultProps}
|
|
58
|
+
approveView={true}
|
|
59
|
+
onCheckboxChange={onCheckboxChange}
|
|
60
|
+
/>
|
|
61
|
+
);
|
|
62
|
+
await waitForLoad(rendered);
|
|
63
|
+
|
|
64
|
+
const checkbox = rendered.container.querySelector("input[type='checkbox']");
|
|
65
|
+
checkbox.click();
|
|
66
|
+
expect(onCheckboxChange).toHaveBeenCalled();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
2
|
+
import { useSearchContext } from "@truedat/core/search/SearchContext";
|
|
3
|
+
import { ConceptLinksApprovalsTable } from "../ConceptLinksApprovalsTable";
|
|
4
|
+
|
|
5
|
+
jest.mock("@truedat/core/search/SearchContext", () => {
|
|
6
|
+
const originalModule = jest.requireActual(
|
|
7
|
+
"@truedat/core/search/SearchContext"
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
__esModule: true,
|
|
12
|
+
...originalModule,
|
|
13
|
+
useSearchContext: jest.fn(),
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
describe("ConceptLinksApprovalsTable", () => {
|
|
18
|
+
const mockColumns = [
|
|
19
|
+
{ name: "source_name", width: 4 },
|
|
20
|
+
{ name: "target_name", width: 4 },
|
|
21
|
+
{ name: "tag_type", width: 2 },
|
|
22
|
+
{ name: "status", width: 2 },
|
|
23
|
+
{ name: "updated_at", width: 2 },
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
beforeEach(() => {
|
|
27
|
+
useSearchContext.mockReturnValue({
|
|
28
|
+
searchData: {
|
|
29
|
+
data: [
|
|
30
|
+
{
|
|
31
|
+
id: 1,
|
|
32
|
+
source_name: "Concept 1",
|
|
33
|
+
target_name: "Structure 1",
|
|
34
|
+
tag_type: "relates_to",
|
|
35
|
+
status: "pending",
|
|
36
|
+
updated_at: "2023-01-01",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
loading: false,
|
|
41
|
+
sortColumn: null,
|
|
42
|
+
sortDirection: null,
|
|
43
|
+
handleSortSelection: jest.fn(),
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("matches the latest snapshot with data", async () => {
|
|
48
|
+
const props = {
|
|
49
|
+
columns: mockColumns,
|
|
50
|
+
approveView: true,
|
|
51
|
+
checkedAll: false,
|
|
52
|
+
addAll: jest.fn(),
|
|
53
|
+
checkRow: jest.fn(),
|
|
54
|
+
isRowChecked: jest.fn(),
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const rendered = render(<ConceptLinksApprovalsTable {...props} />);
|
|
58
|
+
await waitForLoad(rendered);
|
|
59
|
+
expect(rendered.container).toMatchSnapshot();
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("matches the latest snapshot with empty data", async () => {
|
|
63
|
+
useSearchContext.mockReturnValue({
|
|
64
|
+
searchData: { data: [] },
|
|
65
|
+
loading: false,
|
|
66
|
+
sortColumn: null,
|
|
67
|
+
sortDirection: null,
|
|
68
|
+
handleSortSelection: jest.fn(),
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const props = {
|
|
72
|
+
columns: mockColumns,
|
|
73
|
+
approveView: true,
|
|
74
|
+
checkedAll: false,
|
|
75
|
+
addAll: jest.fn(),
|
|
76
|
+
checkRow: jest.fn(),
|
|
77
|
+
isRowChecked: jest.fn(),
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const rendered = render(<ConceptLinksApprovalsTable {...props} />);
|
|
81
|
+
await waitForLoad(rendered);
|
|
82
|
+
expect(rendered.container).toMatchSnapshot();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("matches the latest snapshot while loading", async () => {
|
|
86
|
+
useSearchContext.mockReturnValue({
|
|
87
|
+
searchData: { data: [] },
|
|
88
|
+
loading: true,
|
|
89
|
+
sortColumn: null,
|
|
90
|
+
sortDirection: null,
|
|
91
|
+
handleSortSelection: jest.fn(),
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const props = {
|
|
95
|
+
columns: mockColumns,
|
|
96
|
+
approveView: true,
|
|
97
|
+
checkedAll: false,
|
|
98
|
+
addAll: jest.fn(),
|
|
99
|
+
checkRow: jest.fn(),
|
|
100
|
+
isRowChecked: jest.fn(),
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const rendered = render(<ConceptLinksApprovalsTable {...props} />);
|
|
104
|
+
await waitForLoad(rendered);
|
|
105
|
+
expect(rendered.container).toMatchSnapshot();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
@@ -29,42 +29,42 @@ exports[`<ConceptImplementationLinks /> matches the latest snapshot 1`] = `
|
|
|
29
29
|
class=""
|
|
30
30
|
>
|
|
31
31
|
<th
|
|
32
|
-
class="two wide
|
|
32
|
+
class="two wide disabled"
|
|
33
33
|
>
|
|
34
34
|
ruleImplementations.props.implementation_key
|
|
35
35
|
</th>
|
|
36
36
|
<th
|
|
37
|
-
class="two wide
|
|
37
|
+
class="two wide disabled"
|
|
38
38
|
>
|
|
39
39
|
ruleImplementations.props.rule
|
|
40
40
|
</th>
|
|
41
41
|
<th
|
|
42
|
-
class="two wide
|
|
42
|
+
class="two wide disabled"
|
|
43
43
|
>
|
|
44
44
|
ruleImplementations.props.status
|
|
45
45
|
</th>
|
|
46
46
|
<th
|
|
47
|
-
class="two wide
|
|
47
|
+
class="two wide disabled"
|
|
48
48
|
>
|
|
49
49
|
ruleImplementations.props.last_execution_at
|
|
50
50
|
</th>
|
|
51
51
|
<th
|
|
52
|
-
class="two wide
|
|
52
|
+
class="two wide disabled"
|
|
53
53
|
>
|
|
54
54
|
ruleImplementations.props.result_type
|
|
55
55
|
</th>
|
|
56
56
|
<th
|
|
57
|
-
class="one wide
|
|
57
|
+
class="one wide disabled"
|
|
58
58
|
>
|
|
59
59
|
ruleImplementations.props.minimum
|
|
60
60
|
</th>
|
|
61
61
|
<th
|
|
62
|
-
class="one wide
|
|
62
|
+
class="one wide disabled"
|
|
63
63
|
>
|
|
64
64
|
ruleImplementations.props.goal
|
|
65
65
|
</th>
|
|
66
66
|
<th
|
|
67
|
-
class="two wide
|
|
67
|
+
class="two wide disabled"
|
|
68
68
|
>
|
|
69
69
|
ruleImplementations.props.result
|
|
70
70
|
</th>
|
|
@@ -151,42 +151,42 @@ exports[`<ConceptImplementationLinks /> show create implementations buttons when
|
|
|
151
151
|
class=""
|
|
152
152
|
>
|
|
153
153
|
<th
|
|
154
|
-
class="two wide
|
|
154
|
+
class="two wide disabled"
|
|
155
155
|
>
|
|
156
156
|
ruleImplementations.props.implementation_key
|
|
157
157
|
</th>
|
|
158
158
|
<th
|
|
159
|
-
class="two wide
|
|
159
|
+
class="two wide disabled"
|
|
160
160
|
>
|
|
161
161
|
ruleImplementations.props.rule
|
|
162
162
|
</th>
|
|
163
163
|
<th
|
|
164
|
-
class="two wide
|
|
164
|
+
class="two wide disabled"
|
|
165
165
|
>
|
|
166
166
|
ruleImplementations.props.status
|
|
167
167
|
</th>
|
|
168
168
|
<th
|
|
169
|
-
class="two wide
|
|
169
|
+
class="two wide disabled"
|
|
170
170
|
>
|
|
171
171
|
ruleImplementations.props.last_execution_at
|
|
172
172
|
</th>
|
|
173
173
|
<th
|
|
174
|
-
class="two wide
|
|
174
|
+
class="two wide disabled"
|
|
175
175
|
>
|
|
176
176
|
ruleImplementations.props.result_type
|
|
177
177
|
</th>
|
|
178
178
|
<th
|
|
179
|
-
class="one wide
|
|
179
|
+
class="one wide disabled"
|
|
180
180
|
>
|
|
181
181
|
ruleImplementations.props.minimum
|
|
182
182
|
</th>
|
|
183
183
|
<th
|
|
184
|
-
class="one wide
|
|
184
|
+
class="one wide disabled"
|
|
185
185
|
>
|
|
186
186
|
ruleImplementations.props.goal
|
|
187
187
|
</th>
|
|
188
188
|
<th
|
|
189
|
-
class="two wide
|
|
189
|
+
class="two wide disabled"
|
|
190
190
|
>
|
|
191
191
|
ruleImplementations.props.result
|
|
192
192
|
</th>
|
|
@@ -273,42 +273,42 @@ exports[`<ConceptImplementationLinks /> show implementations with groups 1`] = `
|
|
|
273
273
|
class=""
|
|
274
274
|
>
|
|
275
275
|
<th
|
|
276
|
-
class="two wide
|
|
276
|
+
class="two wide disabled"
|
|
277
277
|
>
|
|
278
278
|
ruleImplementations.props.implementation_key
|
|
279
279
|
</th>
|
|
280
280
|
<th
|
|
281
|
-
class="two wide
|
|
281
|
+
class="two wide disabled"
|
|
282
282
|
>
|
|
283
283
|
ruleImplementations.props.rule
|
|
284
284
|
</th>
|
|
285
285
|
<th
|
|
286
|
-
class="two wide
|
|
286
|
+
class="two wide disabled"
|
|
287
287
|
>
|
|
288
288
|
ruleImplementations.props.status
|
|
289
289
|
</th>
|
|
290
290
|
<th
|
|
291
|
-
class="two wide
|
|
291
|
+
class="two wide disabled"
|
|
292
292
|
>
|
|
293
293
|
ruleImplementations.props.last_execution_at
|
|
294
294
|
</th>
|
|
295
295
|
<th
|
|
296
|
-
class="two wide
|
|
296
|
+
class="two wide disabled"
|
|
297
297
|
>
|
|
298
298
|
ruleImplementations.props.result_type
|
|
299
299
|
</th>
|
|
300
300
|
<th
|
|
301
|
-
class="one wide
|
|
301
|
+
class="one wide disabled"
|
|
302
302
|
>
|
|
303
303
|
ruleImplementations.props.minimum
|
|
304
304
|
</th>
|
|
305
305
|
<th
|
|
306
|
-
class="one wide
|
|
306
|
+
class="one wide disabled"
|
|
307
307
|
>
|
|
308
308
|
ruleImplementations.props.goal
|
|
309
309
|
</th>
|
|
310
310
|
<th
|
|
311
|
-
class="two wide
|
|
311
|
+
class="two wide disabled"
|
|
312
312
|
>
|
|
313
313
|
ruleImplementations.props.result
|
|
314
314
|
</th>
|
|
@@ -383,42 +383,42 @@ exports[`<ConceptImplementationLinks /> show implementations with groups 1`] = `
|
|
|
383
383
|
class=""
|
|
384
384
|
>
|
|
385
385
|
<th
|
|
386
|
-
class="two wide
|
|
386
|
+
class="two wide disabled"
|
|
387
387
|
>
|
|
388
388
|
ruleImplementations.props.implementation_key
|
|
389
389
|
</th>
|
|
390
390
|
<th
|
|
391
|
-
class="two wide
|
|
391
|
+
class="two wide disabled"
|
|
392
392
|
>
|
|
393
393
|
ruleImplementations.props.rule
|
|
394
394
|
</th>
|
|
395
395
|
<th
|
|
396
|
-
class="two wide
|
|
396
|
+
class="two wide disabled"
|
|
397
397
|
>
|
|
398
398
|
ruleImplementations.props.status
|
|
399
399
|
</th>
|
|
400
400
|
<th
|
|
401
|
-
class="two wide
|
|
401
|
+
class="two wide disabled"
|
|
402
402
|
>
|
|
403
403
|
ruleImplementations.props.last_execution_at
|
|
404
404
|
</th>
|
|
405
405
|
<th
|
|
406
|
-
class="two wide
|
|
406
|
+
class="two wide disabled"
|
|
407
407
|
>
|
|
408
408
|
ruleImplementations.props.result_type
|
|
409
409
|
</th>
|
|
410
410
|
<th
|
|
411
|
-
class="one wide
|
|
411
|
+
class="one wide disabled"
|
|
412
412
|
>
|
|
413
413
|
ruleImplementations.props.minimum
|
|
414
414
|
</th>
|
|
415
415
|
<th
|
|
416
|
-
class="one wide
|
|
416
|
+
class="one wide disabled"
|
|
417
417
|
>
|
|
418
418
|
ruleImplementations.props.goal
|
|
419
419
|
</th>
|
|
420
420
|
<th
|
|
421
|
-
class="two wide
|
|
421
|
+
class="two wide disabled"
|
|
422
422
|
>
|
|
423
423
|
ruleImplementations.props.result
|
|
424
424
|
</th>
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<LinksApprovalResults /> renders approval results with relations and errors 1`] = `
|
|
4
|
+
<div>
|
|
5
|
+
<div
|
|
6
|
+
class="ui breadcrumb"
|
|
7
|
+
>
|
|
8
|
+
<a
|
|
9
|
+
class="section"
|
|
10
|
+
data-discover="true"
|
|
11
|
+
href="/concepts/management/approvals"
|
|
12
|
+
>
|
|
13
|
+
conceptRelations.approvals.header
|
|
14
|
+
</a>
|
|
15
|
+
<i
|
|
16
|
+
aria-hidden="true"
|
|
17
|
+
class="right angle icon divider"
|
|
18
|
+
/>
|
|
19
|
+
<div
|
|
20
|
+
class="active section"
|
|
21
|
+
>
|
|
22
|
+
conceptRelations.approvals.results.header
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div
|
|
26
|
+
class="ui positive message"
|
|
27
|
+
>
|
|
28
|
+
<div
|
|
29
|
+
class="header"
|
|
30
|
+
>
|
|
31
|
+
conceptRelations.approvals.results.approved.header
|
|
32
|
+
</div>
|
|
33
|
+
<li
|
|
34
|
+
class="content"
|
|
35
|
+
>
|
|
36
|
+
conceptRelations.approvals.results.message.source_name
|
|
37
|
+
<a
|
|
38
|
+
data-discover="true"
|
|
39
|
+
href="/concepts/10/versions/current"
|
|
40
|
+
target="_blank"
|
|
41
|
+
>
|
|
42
|
+
Source 1
|
|
43
|
+
</a>
|
|
44
|
+
conceptRelations.approvals.results.message.target_name
|
|
45
|
+
<a
|
|
46
|
+
data-discover="true"
|
|
47
|
+
href="/structures/20"
|
|
48
|
+
target="_blank"
|
|
49
|
+
>
|
|
50
|
+
Target 1
|
|
51
|
+
</a>
|
|
52
|
+
</li>
|
|
53
|
+
</div>
|
|
54
|
+
<div
|
|
55
|
+
class="ui error message"
|
|
56
|
+
>
|
|
57
|
+
<div
|
|
58
|
+
class="header"
|
|
59
|
+
>
|
|
60
|
+
conceptRelations.approvals.results.errors.permissions.header
|
|
61
|
+
</div>
|
|
62
|
+
<li
|
|
63
|
+
class="content"
|
|
64
|
+
>
|
|
65
|
+
conceptRelations.approvals.results.message.source_name
|
|
66
|
+
<a
|
|
67
|
+
data-discover="true"
|
|
68
|
+
href="/concepts/11/versions/current"
|
|
69
|
+
target="_blank"
|
|
70
|
+
>
|
|
71
|
+
Source 2
|
|
72
|
+
</a>
|
|
73
|
+
conceptRelations.approvals.results.message.target_name
|
|
74
|
+
<a
|
|
75
|
+
data-discover="true"
|
|
76
|
+
href="/structures/21"
|
|
77
|
+
target="_blank"
|
|
78
|
+
>
|
|
79
|
+
Target 2
|
|
80
|
+
</a>
|
|
81
|
+
</li>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
`;
|
|
85
|
+
|
|
86
|
+
exports[`<LinksApprovalResults /> renders rejection results 1`] = `
|
|
87
|
+
<div>
|
|
88
|
+
<div
|
|
89
|
+
class="ui breadcrumb"
|
|
90
|
+
>
|
|
91
|
+
<a
|
|
92
|
+
class="section"
|
|
93
|
+
data-discover="true"
|
|
94
|
+
href="/concepts/management/approvals"
|
|
95
|
+
>
|
|
96
|
+
conceptRelations.approvals.header
|
|
97
|
+
</a>
|
|
98
|
+
<i
|
|
99
|
+
aria-hidden="true"
|
|
100
|
+
class="right angle icon divider"
|
|
101
|
+
/>
|
|
102
|
+
<div
|
|
103
|
+
class="active section"
|
|
104
|
+
>
|
|
105
|
+
conceptRelations.approvals.results.header
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div
|
|
109
|
+
class="ui warning message"
|
|
110
|
+
>
|
|
111
|
+
<div
|
|
112
|
+
class="header"
|
|
113
|
+
>
|
|
114
|
+
conceptRelations.approvals.results.rejected.header
|
|
115
|
+
</div>
|
|
116
|
+
<li
|
|
117
|
+
class="content"
|
|
118
|
+
>
|
|
119
|
+
conceptRelations.approvals.results.message.source_name
|
|
120
|
+
<a
|
|
121
|
+
data-discover="true"
|
|
122
|
+
href="/concepts/12/versions/current"
|
|
123
|
+
target="_blank"
|
|
124
|
+
>
|
|
125
|
+
Source 3
|
|
126
|
+
</a>
|
|
127
|
+
conceptRelations.approvals.results.message.target_name
|
|
128
|
+
<a
|
|
129
|
+
data-discover="true"
|
|
130
|
+
href="/structures/22"
|
|
131
|
+
target="_blank"
|
|
132
|
+
>
|
|
133
|
+
Target 3
|
|
134
|
+
</a>
|
|
135
|
+
</li>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
`;
|
|
139
|
+
|
|
140
|
+
exports[`<LinksApprovalResults /> renders with empty relations and errors 1`] = `
|
|
141
|
+
<div>
|
|
142
|
+
<div
|
|
143
|
+
class="ui breadcrumb"
|
|
144
|
+
>
|
|
145
|
+
<a
|
|
146
|
+
class="section"
|
|
147
|
+
data-discover="true"
|
|
148
|
+
href="/concepts/management/approvals"
|
|
149
|
+
>
|
|
150
|
+
conceptRelations.approvals.header
|
|
151
|
+
</a>
|
|
152
|
+
<i
|
|
153
|
+
aria-hidden="true"
|
|
154
|
+
class="right angle icon divider"
|
|
155
|
+
/>
|
|
156
|
+
<div
|
|
157
|
+
class="active section"
|
|
158
|
+
>
|
|
159
|
+
conceptRelations.approvals.results.header
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
`;
|
|
164
|
+
|
|
165
|
+
exports[`<LinksApprovalResults /> renders with no errors 1`] = `
|
|
166
|
+
<div>
|
|
167
|
+
<div
|
|
168
|
+
class="ui breadcrumb"
|
|
169
|
+
>
|
|
170
|
+
<a
|
|
171
|
+
class="section"
|
|
172
|
+
data-discover="true"
|
|
173
|
+
href="/concepts/management/approvals"
|
|
174
|
+
>
|
|
175
|
+
conceptRelations.approvals.header
|
|
176
|
+
</a>
|
|
177
|
+
<i
|
|
178
|
+
aria-hidden="true"
|
|
179
|
+
class="right angle icon divider"
|
|
180
|
+
/>
|
|
181
|
+
<div
|
|
182
|
+
class="active section"
|
|
183
|
+
>
|
|
184
|
+
conceptRelations.approvals.results.header
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
<div
|
|
188
|
+
class="ui positive message"
|
|
189
|
+
>
|
|
190
|
+
<div
|
|
191
|
+
class="header"
|
|
192
|
+
>
|
|
193
|
+
conceptRelations.approvals.results.approved.header
|
|
194
|
+
</div>
|
|
195
|
+
<li
|
|
196
|
+
class="content"
|
|
197
|
+
>
|
|
198
|
+
conceptRelations.approvals.results.message.source_name
|
|
199
|
+
<a
|
|
200
|
+
data-discover="true"
|
|
201
|
+
href="/concepts/13/versions/current"
|
|
202
|
+
target="_blank"
|
|
203
|
+
>
|
|
204
|
+
Source 4
|
|
205
|
+
</a>
|
|
206
|
+
conceptRelations.approvals.results.message.target_name
|
|
207
|
+
<a
|
|
208
|
+
data-discover="true"
|
|
209
|
+
href="/structures/23"
|
|
210
|
+
target="_blank"
|
|
211
|
+
>
|
|
212
|
+
Target 4
|
|
213
|
+
</a>
|
|
214
|
+
</li>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
`;
|