@truedat/qx 8.7.0 → 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.
- package/package.json +3 -3
- package/src/components/__tests__/QxRoutes.spec.js +1 -1
- package/src/components/common/ClauseViewer.js +1 -1
- package/src/components/common/ResourceSelector.js +1 -1
- package/src/components/common/TypeSelector.js +7 -3
- package/src/components/common/__tests__/ResourceSelector.spec.js +6 -6
- package/src/components/common/expressions/FieldSelector.js +2 -2
- package/src/components/common/expressions/FunctionSelector.js +3 -3
- package/src/components/common/expressions/ParamSelector.js +1 -1
- package/src/components/common/expressions/ShapeSelector.js +4 -5
- package/src/components/common/expressions/__tests__/Clauses.spec.js +11 -11
- package/src/components/common/expressions/__tests__/Condition.spec.js +15 -13
- package/src/components/common/expressions/__tests__/ConstantSelector.spec.js +2 -2
- package/src/components/common/expressions/__tests__/Expression.spec.js +5 -5
- package/src/components/common/expressions/__tests__/FieldSelector.spec.js +6 -2
- package/src/components/common/expressions/__tests__/FunctionArgs.spec.js +3 -3
- package/src/components/common/expressions/__tests__/FunctionSelector.spec.js +3 -3
- package/src/components/common/expressions/__tests__/ParamSelector.spec.js +3 -3
- package/src/components/common/expressions/__tests__/ShapeSelector.spec.js +7 -7
- package/src/components/common/expressions/__tests__/useWatchParams.spec.js +3 -1
- package/src/components/common/expressions/constantInputs/AnySelector.js +0 -1
- package/src/components/common/expressions/constantInputs/BooleanSelector.js +5 -1
- package/src/components/common/expressions/constantInputs/__tests__/AnySelector.spec.js +6 -2
- package/src/components/common/expressions/constantInputs/__tests__/BooleanSelector.spec.js +8 -4
- package/src/components/common/expressions/constantInputs/__tests__/DefaultSelector.spec.js +6 -3
- package/src/components/common/resourceSelectors/DataStructureSelector.js +5 -1
- package/src/components/common/resourceSelectors/DataViewSelector.js +3 -3
- package/src/components/common/resourceSelectors/ReferenceDatasetSelector.js +7 -2
- package/src/components/common/resourceSelectors/__tests__/DataStructureSelector.spec.js +1 -1
- package/src/components/common/resourceSelectors/__tests__/DataViewSelector.spec.js +7 -7
- package/src/components/common/resourceSelectors/__tests__/ReferenceDatasetSelector.spec.js +6 -6
- package/src/components/dataViews/DataViewEditor.js +3 -2
- package/src/components/dataViews/DataViewSummary.js +1 -1
- package/src/components/dataViews/DataViews.js +2 -2
- package/src/components/dataViews/__tests__/AdvancedDataViewEditor.spec.js +3 -3
- package/src/components/dataViews/__tests__/DataViewEditor.spec.js +7 -7
- package/src/components/dataViews/__tests__/DataViewSelect.spec.js +1 -1
- package/src/components/dataViews/__tests__/DataViewSummary.spec.js +15 -15
- package/src/components/dataViews/__tests__/DataViews.spec.js +6 -6
- package/src/components/dataViews/__tests__/Queryable.spec.js +6 -6
- package/src/components/dataViews/__tests__/Queryables.spec.js +6 -6
- package/src/components/dataViews/__tests__/SimpleDataViewEditor.spec.js +17 -17
- package/src/components/dataViews/__tests__/queryableFunctions.spec.js +4 -4
- package/src/components/dataViews/advancedForm/AdvancedDataViewEditor.js +3 -3
- package/src/components/dataViews/advancedForm/DataViewSelect.js +1 -1
- package/src/components/dataViews/advancedForm/Queryable.js +3 -3
- package/src/components/dataViews/queryableFunctions.js +35 -35
- package/src/components/dataViews/queryableProperties/Select.js +1 -1
- package/src/components/dataViews/queryableProperties/SelectField.js +5 -5
- package/src/components/dataViews/queryableProperties/__tests__/From.spec.js +1 -1
- package/src/components/dataViews/queryableProperties/__tests__/GroupBy.spec.js +19 -19
- package/src/components/dataViews/queryableProperties/__tests__/Join.spec.js +1 -1
- package/src/components/dataViews/queryableProperties/__tests__/JoinTypeIcon.spec.js +1 -1
- package/src/components/dataViews/queryableProperties/__tests__/Select.spec.js +5 -5
- package/src/components/dataViews/queryableProperties/__tests__/SelectField.spec.js +3 -3
- package/src/components/dataViews/queryableProperties/__tests__/Where.spec.js +1 -1
- package/src/components/dataViews/queryableSummaryHelpers.js +1 -1
- package/src/components/dataViews/simpleForm/AggregationForm.js +2 -2
- package/src/components/dataViews/simpleForm/DatasetForm.js +1 -1
- package/src/components/dataViews/simpleForm/FormQueryable.js +3 -3
- package/src/components/dataViews/simpleForm/InformationForm.js +2 -2
- package/src/components/dataViews/simpleForm/SelectionForm.js +1 -1
- package/src/components/dataViews/simpleForm/SimpleDataViewEditor.js +3 -3
- package/src/components/dataViews/summary/GroupBy.js +1 -1
- package/src/components/dataViews/summary/Join.js +50 -48
- package/src/components/dataViews/summary/Select.js +1 -1
- package/src/components/dataViews/summary/Where.js +6 -1
- package/src/components/functions/FunctionEditor.js +1 -1
- package/src/components/functions/Functions.js +1 -1
- package/src/components/functions/__tests__/FunctionEditor.spec.js +7 -7
- package/src/components/functions/__tests__/FunctionParams.spec.js +4 -4
- package/src/components/qualityControls/ConceptLinkNew.js +2 -2
- package/src/components/qualityControls/ConceptLinks.js +1 -1
- package/src/components/qualityControls/ContentSummary.js +23 -21
- package/src/components/qualityControls/ControlProperties.js +1 -1
- package/src/components/qualityControls/ControlPropertiesView.js +1 -1
- package/src/components/qualityControls/EditQualityControl.js +1 -1
- package/src/components/qualityControls/NewDraftQualityControl.js +1 -1
- package/src/components/qualityControls/QualityControlActions.js +4 -4
- package/src/components/qualityControls/QualityControlEditor.js +11 -20
- package/src/components/qualityControls/QualityControlEvents.js +2 -2
- package/src/components/qualityControls/QualityControlHeader.js +2 -2
- package/src/components/qualityControls/QualityControlRoutes.js +1 -1
- package/src/components/qualityControls/QualityControlScores.js +3 -3
- package/src/components/qualityControls/QualityControlSelector.js +1 -1
- package/src/components/qualityControls/QualityControlSummary.js +17 -15
- package/src/components/qualityControls/QualityControls.js +9 -11
- package/src/components/qualityControls/QualityControlsTable.js +1 -1
- package/src/components/qualityControls/SegmentationForm.js +99 -100
- package/src/components/qualityControls/SegmentationSummary.js +113 -104
- package/src/components/qualityControls/StructureLinkNew.js +2 -2
- package/src/components/qualityControls/StructureLinks.js +1 -1
- package/src/components/qualityControls/__tests__/ConceptLinkNew.spec.js +5 -5
- package/src/components/qualityControls/__tests__/ConceptLinks.spec.js +3 -3
- package/src/components/qualityControls/__tests__/ControlProperties.spec.js +6 -2
- package/src/components/qualityControls/__tests__/ControlPropertiesForm.spec.js +6 -6
- package/src/components/qualityControls/__tests__/ControlPropertiesSummary.spec.js +7 -7
- package/src/components/qualityControls/__tests__/ControlPropertiesView.spec.js +7 -2
- package/src/components/qualityControls/__tests__/EditQualityControl.spec.js +12 -12
- package/src/components/qualityControls/__tests__/InformationForm.spec.js +29 -11
- package/src/components/qualityControls/__tests__/NewDraftQualityControl.spec.js +23 -21
- package/src/components/qualityControls/__tests__/NewQualityControl.spec.js +38 -38
- package/src/components/qualityControls/__tests__/QualityBadge.spec.js +7 -7
- package/src/components/qualityControls/__tests__/QualityControl.spec.js +7 -7
- package/src/components/qualityControls/__tests__/QualityControlActions.spec.js +16 -16
- package/src/components/qualityControls/__tests__/QualityControlCrumbs.spec.js +1 -1
- package/src/components/qualityControls/__tests__/QualityControlEditor.spec.js +6 -2
- package/src/components/qualityControls/__tests__/QualityControlEvents.spec.js +3 -3
- package/src/components/qualityControls/__tests__/QualityControlHeader.spec.js +3 -3
- package/src/components/qualityControls/__tests__/QualityControlHistory.spec.js +2 -2
- package/src/components/qualityControls/__tests__/QualityControlManageDomain.spec.js +4 -4
- package/src/components/qualityControls/__tests__/QualityControlQueryModal.spec.js +2 -2
- package/src/components/qualityControls/__tests__/QualityControlRoutes.spec.js +2 -2
- package/src/components/qualityControls/__tests__/QualityControlRow.spec.js +4 -4
- package/src/components/qualityControls/__tests__/QualityControlScores.spec.js +9 -9
- package/src/components/qualityControls/__tests__/QualityControlSelector.spec.js +21 -17
- package/src/components/qualityControls/__tests__/QualityControls.spec.js +21 -21
- package/src/components/qualityControls/__tests__/QualityControlsLabelResults.spec.js +5 -5
- package/src/components/qualityControls/__tests__/QualityControlsPagination.spec.js +1 -1
- package/src/components/qualityControls/__tests__/QualityControlsTable.spec.js +1 -1
- package/src/components/qualityControls/__tests__/ScoreCriteria.spec.js +6 -6
- package/src/components/qualityControls/__tests__/ScoreCriteriaView.spec.js +6 -6
- package/src/components/qualityControls/__tests__/StructureLinkNew.spec.js +9 -9
- package/src/components/qualityControls/__tests__/StructureLinks.spec.js +6 -6
- package/src/components/qualityControls/controlProperties/__tests__/ResourceWithValidation.spec.js +9 -9
- package/src/components/qualityControls/scoreCriterias/__tests__/Deviation.spec.js +5 -5
- package/src/components/qualityControls/scoreCriterias/__tests__/ErrorCount.spec.js +10 -10
- package/src/components/qualityControls/scoreCriterias/__tests__/Percentage.spec.js +6 -6
- package/src/components/scores/QualityBar.js +1 -1
- package/src/components/scores/ScoreDetails.js +1 -1
- package/src/components/scores/ScoreGroup.js +2 -2
- package/src/components/scores/ScoreGroupForm.js +1 -1
- package/src/components/scores/__tests__/MyScoreGroups.spec.js +1 -1
- package/src/components/scores/__tests__/QualityBar.spec.js +3 -3
- package/src/components/scores/__tests__/Score.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreContext.spec.js +2 -2
- package/src/components/scores/__tests__/ScoreCrumbs.spec.js +2 -2
- package/src/components/scores/__tests__/ScoreDetails.spec.js +2 -2
- package/src/components/scores/__tests__/ScoreEvents.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroup.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroupBreadcrumbs.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroupForm.spec.js +3 -3
- package/src/components/scores/__tests__/ScoreGroupLink.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroupMessage.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroupPopup.spec.js +2 -2
- package/src/components/scores/__tests__/ScoreGroupsRoutes.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreGroupsTable.spec.js +2 -2
- package/src/components/scores/__tests__/ScorePagination.spec.js +1 -1
- package/src/components/scores/__tests__/ScoreStatusDecorator.spec.js +2 -2
- package/src/components/selectors/__tests__/getMyScoreGroupsColumns.spec.js +5 -5
- package/src/components/selectors/__tests__/getQualityControlScoresColumns.spec.js +3 -3
- package/src/components/selectors/getMyScoreGroupsColumns.js +1 -1
- package/src/components/selectors/getQualityControlScoresColumns.js +1 -1
- package/src/hooks/useDataViews.js +1 -1
- package/src/hooks/useExecutionGroups.js +2 -2
- package/src/hooks/useFunctions.js +1 -1
- package/src/hooks/useQualityControls.js +3 -3
- package/src/hooks/useScoreGroups.js +3 -3
- package/src/hooks/useScores.js +1 -1
- package/src/types.js +5 -3
|
@@ -6,7 +6,9 @@ import AnySelector from "../AnySelector";
|
|
|
6
6
|
describe("<AnySelector />", () => {
|
|
7
7
|
it("matches the latest snapshot", async () => {
|
|
8
8
|
const rendered = render(
|
|
9
|
-
<TestFormWrapper
|
|
9
|
+
<TestFormWrapper>
|
|
10
|
+
<AnySelector />
|
|
11
|
+
</TestFormWrapper>,
|
|
10
12
|
);
|
|
11
13
|
await waitForLoad(rendered);
|
|
12
14
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -17,7 +19,9 @@ describe("<AnySelector />", () => {
|
|
|
17
19
|
const watcher = jest.fn();
|
|
18
20
|
|
|
19
21
|
const rendered = render(
|
|
20
|
-
<TestFormWrapper watcher={watcher}
|
|
22
|
+
<TestFormWrapper watcher={watcher}>
|
|
23
|
+
<AnySelector />
|
|
24
|
+
</TestFormWrapper>,
|
|
21
25
|
);
|
|
22
26
|
await waitForLoad(rendered);
|
|
23
27
|
|
|
@@ -16,8 +16,10 @@ describe("<BooleanSelector />", () => {
|
|
|
16
16
|
|
|
17
17
|
it("matches the latest snapshot", async () => {
|
|
18
18
|
const rendered = render(
|
|
19
|
-
<TestFormWrapper
|
|
20
|
-
|
|
19
|
+
<TestFormWrapper>
|
|
20
|
+
<BooleanSelector />
|
|
21
|
+
</TestFormWrapper>,
|
|
22
|
+
renderOpts,
|
|
21
23
|
);
|
|
22
24
|
await waitForLoad(rendered);
|
|
23
25
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -27,8 +29,10 @@ describe("<BooleanSelector />", () => {
|
|
|
27
29
|
const user = userEvent.setup({ delay: null });
|
|
28
30
|
const watcher = jest.fn();
|
|
29
31
|
const rendered = render(
|
|
30
|
-
<TestFormWrapper watcher={watcher}
|
|
31
|
-
|
|
32
|
+
<TestFormWrapper watcher={watcher}>
|
|
33
|
+
<BooleanSelector />
|
|
34
|
+
</TestFormWrapper>,
|
|
35
|
+
renderOpts,
|
|
32
36
|
);
|
|
33
37
|
await waitForLoad(rendered);
|
|
34
38
|
|
|
@@ -4,10 +4,11 @@ import TestFormWrapper from "@truedat/qx/components/common/TestFormWrapper";
|
|
|
4
4
|
import DefaultSelector from "../DefaultSelector";
|
|
5
5
|
|
|
6
6
|
describe("<DefaultSelector />", () => {
|
|
7
|
-
|
|
8
7
|
it("matches the latest snapshot", async () => {
|
|
9
8
|
const rendered = render(
|
|
10
|
-
<TestFormWrapper
|
|
9
|
+
<TestFormWrapper>
|
|
10
|
+
<DefaultSelector />
|
|
11
|
+
</TestFormWrapper>,
|
|
11
12
|
);
|
|
12
13
|
await waitForLoad(rendered);
|
|
13
14
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -25,7 +26,9 @@ describe("<DefaultSelector />", () => {
|
|
|
25
26
|
watcher={watcher}
|
|
26
27
|
defaultValues={defaultValues}
|
|
27
28
|
context={{ field }}
|
|
28
|
-
|
|
29
|
+
>
|
|
30
|
+
<DefaultSelector />
|
|
31
|
+
</TestFormWrapper>,
|
|
29
32
|
);
|
|
30
33
|
await waitForLoad(rendered);
|
|
31
34
|
|
|
@@ -31,7 +31,11 @@ export default function DataStructureSelector({ onChange, error }) {
|
|
|
31
31
|
|
|
32
32
|
return (
|
|
33
33
|
<Form.Field error={!!error}>
|
|
34
|
-
{error &&
|
|
34
|
+
{error && (
|
|
35
|
+
<Label pointing="below" prompt>
|
|
36
|
+
{error}
|
|
37
|
+
</Label>
|
|
38
|
+
)}
|
|
35
39
|
{active ? (
|
|
36
40
|
<div onClick={onClick}>
|
|
37
41
|
<Icon name="dropdown" />
|
|
@@ -17,7 +17,7 @@ export default function DataViewSelector({ onChange, onBlur, value, error }) {
|
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
const sourceDataViews = _.filter({ source_id: parseInt(sourceId) })(
|
|
20
|
-
dataViews
|
|
20
|
+
dataViews,
|
|
21
21
|
);
|
|
22
22
|
|
|
23
23
|
const options = _.flow(
|
|
@@ -30,7 +30,7 @@ export default function DataViewSelector({ onChange, onBlur, value, error }) {
|
|
|
30
30
|
key: id,
|
|
31
31
|
value: id,
|
|
32
32
|
text: name,
|
|
33
|
-
}))
|
|
33
|
+
})),
|
|
34
34
|
)(sourceDataViews);
|
|
35
35
|
|
|
36
36
|
const buildEmbedded = (id) =>
|
|
@@ -43,7 +43,7 @@ export default function DataViewSelector({ onChange, onBlur, value, error }) {
|
|
|
43
43
|
name: field.alias,
|
|
44
44
|
type: _.prop("expression.value.type")(field),
|
|
45
45
|
parent_name: dataView.name,
|
|
46
|
-
}))
|
|
46
|
+
})),
|
|
47
47
|
)(dataView),
|
|
48
48
|
}))(sourceDataViews);
|
|
49
49
|
|
|
@@ -5,7 +5,12 @@ import { Form } from "semantic-ui-react";
|
|
|
5
5
|
import { matchSorter } from "match-sorter";
|
|
6
6
|
import QxContext from "@truedat/qx/components/QxContext";
|
|
7
7
|
|
|
8
|
-
export default function ReferenceDatasetSelector({
|
|
8
|
+
export default function ReferenceDatasetSelector({
|
|
9
|
+
error,
|
|
10
|
+
onChange,
|
|
11
|
+
onBlur,
|
|
12
|
+
value,
|
|
13
|
+
}) {
|
|
9
14
|
const { formatMessage } = useIntl();
|
|
10
15
|
const [searchTerm, setSearchTerm] = useState("");
|
|
11
16
|
const { referenceDatasets } = use(QxContext);
|
|
@@ -25,7 +30,7 @@ export default function ReferenceDatasetSelector({ error, onChange, onBlur, valu
|
|
|
25
30
|
key: id,
|
|
26
31
|
value: id,
|
|
27
32
|
text: name,
|
|
28
|
-
}))
|
|
33
|
+
})),
|
|
29
34
|
)(referenceDatasets);
|
|
30
35
|
|
|
31
36
|
const handleSearchChange = (_e, { searchQuery }) =>
|
|
@@ -17,7 +17,7 @@ describe("<DataViewSelector />", () => {
|
|
|
17
17
|
>
|
|
18
18
|
<DataViewSelector />
|
|
19
19
|
</TestFormWrapper>,
|
|
20
|
-
renderOpts
|
|
20
|
+
renderOpts,
|
|
21
21
|
);
|
|
22
22
|
await waitForLoad(rendered);
|
|
23
23
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -37,12 +37,12 @@ describe("<DataViewSelector />", () => {
|
|
|
37
37
|
>
|
|
38
38
|
<DataViewSelector />
|
|
39
39
|
</TestFormWrapper>,
|
|
40
|
-
renderOpts
|
|
40
|
+
renderOpts,
|
|
41
41
|
);
|
|
42
42
|
await waitForLoad(rendered);
|
|
43
43
|
|
|
44
44
|
await waitFor(() =>
|
|
45
|
-
expect(rendered.queryByText(/selecteddataview/i)).not.toBeInTheDocument()
|
|
45
|
+
expect(rendered.queryByText(/selecteddataview/i)).not.toBeInTheDocument(),
|
|
46
46
|
);
|
|
47
47
|
});
|
|
48
48
|
|
|
@@ -75,13 +75,13 @@ describe("<DataViewSelector />", () => {
|
|
|
75
75
|
>
|
|
76
76
|
<DataViewSelector onChange={onChange} />
|
|
77
77
|
</TestFormWrapper>,
|
|
78
|
-
renderOpts
|
|
78
|
+
renderOpts,
|
|
79
79
|
);
|
|
80
80
|
await waitForLoad(rendered);
|
|
81
81
|
|
|
82
82
|
const user = userEvent.setup({ delay: null });
|
|
83
83
|
await user.click(
|
|
84
|
-
rendered.getByRole("option", { name: /selecteddataview/i })
|
|
84
|
+
rendered.getByRole("option", { name: /selecteddataview/i }),
|
|
85
85
|
);
|
|
86
86
|
|
|
87
87
|
expect(onChange).toHaveBeenLastCalledWith({
|
|
@@ -123,7 +123,7 @@ describe("<DataViewSelector />", () => {
|
|
|
123
123
|
>
|
|
124
124
|
<DataViewSelector />
|
|
125
125
|
</TestFormWrapper>,
|
|
126
|
-
renderOpts
|
|
126
|
+
renderOpts,
|
|
127
127
|
);
|
|
128
128
|
await waitForLoad(rendered);
|
|
129
129
|
|
|
@@ -131,7 +131,7 @@ describe("<DataViewSelector />", () => {
|
|
|
131
131
|
await user.type(rendered.getByRole("textbox"), "User");
|
|
132
132
|
|
|
133
133
|
await waitFor(() =>
|
|
134
|
-
expect(rendered.queryByText(/selecteddataview/i)).not.toBeInTheDocument()
|
|
134
|
+
expect(rendered.queryByText(/selecteddataview/i)).not.toBeInTheDocument(),
|
|
135
135
|
);
|
|
136
136
|
});
|
|
137
137
|
});
|
|
@@ -13,7 +13,7 @@ describe("<ReferenceDatasetSelector />", () => {
|
|
|
13
13
|
}}
|
|
14
14
|
>
|
|
15
15
|
<ReferenceDatasetSelector />
|
|
16
|
-
</TestFormWrapper
|
|
16
|
+
</TestFormWrapper>,
|
|
17
17
|
);
|
|
18
18
|
await waitForLoad(rendered);
|
|
19
19
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -36,12 +36,12 @@ describe("<ReferenceDatasetSelector />", () => {
|
|
|
36
36
|
}}
|
|
37
37
|
>
|
|
38
38
|
<ReferenceDatasetSelector onChange={onChange} />
|
|
39
|
-
</TestFormWrapper
|
|
39
|
+
</TestFormWrapper>,
|
|
40
40
|
);
|
|
41
41
|
await waitForLoad(rendered);
|
|
42
42
|
|
|
43
43
|
await user.click(
|
|
44
|
-
rendered.getByRole("option", { name: /SelectedReferenceDataset/i })
|
|
44
|
+
rendered.getByRole("option", { name: /SelectedReferenceDataset/i }),
|
|
45
45
|
);
|
|
46
46
|
|
|
47
47
|
expect(onChange).toHaveBeenLastCalledWith({
|
|
@@ -71,7 +71,7 @@ describe("<ReferenceDatasetSelector />", () => {
|
|
|
71
71
|
}}
|
|
72
72
|
>
|
|
73
73
|
<ReferenceDatasetSelector />
|
|
74
|
-
</TestFormWrapper
|
|
74
|
+
</TestFormWrapper>,
|
|
75
75
|
);
|
|
76
76
|
await waitForLoad(rendered);
|
|
77
77
|
|
|
@@ -79,8 +79,8 @@ describe("<ReferenceDatasetSelector />", () => {
|
|
|
79
79
|
|
|
80
80
|
await waitFor(() =>
|
|
81
81
|
expect(
|
|
82
|
-
rendered.queryByText(/SelectedReferenceDataset/i)
|
|
83
|
-
).not.toBeInTheDocument()
|
|
82
|
+
rendered.queryByText(/SelectedReferenceDataset/i),
|
|
83
|
+
).not.toBeInTheDocument(),
|
|
84
84
|
);
|
|
85
85
|
});
|
|
86
86
|
});
|
|
@@ -16,10 +16,10 @@ import { REFERENCE_DATASETS_HEADERS_QUERY } from "@truedat/dd/api/queries";
|
|
|
16
16
|
import { DATA_VIEWS } from "@truedat/core/routes";
|
|
17
17
|
import { useFunctions } from "@truedat/qx/hooks/useFunctions";
|
|
18
18
|
import { lowerDeburrTrim } from "@truedat/core/services/sort";
|
|
19
|
+
import { ConfirmModal } from "@truedat/core/components";
|
|
19
20
|
import AdvancedDataViewEditor from "./advancedForm/AdvancedDataViewEditor";
|
|
20
21
|
import SimpleDataViewEditor from "./simpleForm/SimpleDataViewEditor";
|
|
21
22
|
import BreadCrumb from "./BreadCrumb";
|
|
22
|
-
import { ConfirmModal } from "@truedat/core/components";
|
|
23
23
|
|
|
24
24
|
const NEW_DATA_VIEW = {
|
|
25
25
|
name: "",
|
|
@@ -55,7 +55,7 @@ export function DataViewDetailEditor({ dataView }) {
|
|
|
55
55
|
const referenceDatasets = _.flow(
|
|
56
56
|
_.getOr([], "referenceDatasets"),
|
|
57
57
|
_.sortBy([({ name }) => lowerDeburrTrim(name), "name"]),
|
|
58
|
-
_.map((row) => ({ ...row, id: Number(row?.id) }))
|
|
58
|
+
_.map((row) => ({ ...row, id: Number(row?.id) })),
|
|
59
59
|
)(referenceDatasetsData);
|
|
60
60
|
|
|
61
61
|
useEffect(() => {
|
|
@@ -170,6 +170,7 @@ export default function DataViewEditor() {
|
|
|
170
170
|
);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
173
174
|
const { dataView, loading, error } = useDataViewFetch(id);
|
|
174
175
|
|
|
175
176
|
if (error) return null;
|
|
@@ -2,6 +2,7 @@ import _ from "lodash/fp";
|
|
|
2
2
|
import { Fragment } from "react";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
4
|
import { Segment } from "semantic-ui-react";
|
|
5
|
+
import QxContext from "@truedat/qx/components/QxContext";
|
|
5
6
|
import From from "./summary/From";
|
|
6
7
|
import Join from "./summary/Join";
|
|
7
8
|
import Where from "./summary/Where";
|
|
@@ -11,7 +12,6 @@ import {
|
|
|
11
12
|
buildParentResourceMap,
|
|
12
13
|
hasValidStructure,
|
|
13
14
|
} from "./queryableSummaryHelpers";
|
|
14
|
-
import QxContext from "@truedat/qx/components/QxContext";
|
|
15
15
|
|
|
16
16
|
export default function DataViewSummary({ dataView }) {
|
|
17
17
|
if (!dataView) {
|
|
@@ -29,7 +29,7 @@ export function filterDataView(data, searchTerm, keys) {
|
|
|
29
29
|
(keys ?? Object.keys(item)).some((key) => {
|
|
30
30
|
const value = item[key];
|
|
31
31
|
return value && String(value).toLowerCase().includes(lower);
|
|
32
|
-
})
|
|
32
|
+
}),
|
|
33
33
|
);
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -90,7 +90,7 @@ export default function DataViews() {
|
|
|
90
90
|
|
|
91
91
|
const filteredData = useMemo(
|
|
92
92
|
() => filterDataView(dataViews, searchInput, ["name", "description"]),
|
|
93
|
-
[dataViews, searchInput]
|
|
93
|
+
[dataViews, searchInput],
|
|
94
94
|
);
|
|
95
95
|
|
|
96
96
|
return (
|
|
@@ -159,20 +159,20 @@ describe("<AdvancedDataViewEditor />", () => {
|
|
|
159
159
|
// Insert description
|
|
160
160
|
await user.type(
|
|
161
161
|
rendered.getAllByRole("textbox")[1],
|
|
162
|
-
"data_view_description"
|
|
162
|
+
"data_view_description",
|
|
163
163
|
);
|
|
164
164
|
|
|
165
165
|
// Insert From information
|
|
166
166
|
await user.type(rendered.getByPlaceholderText(/alias/i), "from_alias");
|
|
167
167
|
await user.click(rendered.getByRole("option", { name: /data_view/i }));
|
|
168
168
|
await user.click(
|
|
169
|
-
rendered.getByRole("option", { name: /anotherdataview/i })
|
|
169
|
+
rendered.getByRole("option", { name: /anotherdataview/i }),
|
|
170
170
|
);
|
|
171
171
|
|
|
172
172
|
expect(rendered.getByRole("button", { name: /save/i })).toBeDisabled();
|
|
173
173
|
|
|
174
174
|
await user.click(
|
|
175
|
-
rendered.getByRole("button", { name: /add_all_select_fields/i })
|
|
175
|
+
rendered.getByRole("button", { name: /add_all_select_fields/i }),
|
|
176
176
|
);
|
|
177
177
|
|
|
178
178
|
await waitFor(() => {
|
|
@@ -123,10 +123,10 @@ describe("<DataViewDetailEditor /> (render behavior only)", () => {
|
|
|
123
123
|
expect(rendered.queryByTestId("simple-editor")).not.toBeInTheDocument();
|
|
124
124
|
|
|
125
125
|
expect(
|
|
126
|
-
rendered.getByRole("button", { name: /actions.mode.advanced/i })
|
|
126
|
+
rendered.getByRole("button", { name: /actions.mode.advanced/i }),
|
|
127
127
|
).toBeDisabled();
|
|
128
128
|
expect(
|
|
129
|
-
rendered.getByRole("button", { name: /actions.mode.guided/i })
|
|
129
|
+
rendered.getByRole("button", { name: /actions.mode.guided/i }),
|
|
130
130
|
).not.toBeDisabled();
|
|
131
131
|
});
|
|
132
132
|
|
|
@@ -146,10 +146,10 @@ describe("<DataViewDetailEditor /> (render behavior only)", () => {
|
|
|
146
146
|
expect(rendered.queryByTestId("simple-editor")).not.toBeInTheDocument();
|
|
147
147
|
|
|
148
148
|
expect(
|
|
149
|
-
rendered.getByRole("button", { name: /actions.mode.advanced/i })
|
|
149
|
+
rendered.getByRole("button", { name: /actions.mode.advanced/i }),
|
|
150
150
|
).toBeDisabled();
|
|
151
151
|
expect(
|
|
152
|
-
rendered.getByRole("button", { name: /actions.mode.guided/i })
|
|
152
|
+
rendered.getByRole("button", { name: /actions.mode.guided/i }),
|
|
153
153
|
).toBeDisabled();
|
|
154
154
|
});
|
|
155
155
|
|
|
@@ -158,7 +158,7 @@ describe("<DataViewDetailEditor /> (render behavior only)", () => {
|
|
|
158
158
|
const rendered = render(<DataViewDetailEditor dataView={undefined} />);
|
|
159
159
|
|
|
160
160
|
expect(
|
|
161
|
-
rendered.container.querySelector(".ui.segment.loading")
|
|
161
|
+
rendered.container.querySelector(".ui.segment.loading"),
|
|
162
162
|
).not.toBeNull();
|
|
163
163
|
});
|
|
164
164
|
});
|
|
@@ -169,7 +169,7 @@ describe("<DataViewEditor /> (render branches only)", () => {
|
|
|
169
169
|
await waitForLoad(rendered);
|
|
170
170
|
|
|
171
171
|
expect(rendered.getByTestId("breadcrumb")).toHaveTextContent(
|
|
172
|
-
"dataViews.new"
|
|
172
|
+
"dataViews.new",
|
|
173
173
|
);
|
|
174
174
|
expect(rendered.getByTestId("simple-editor")).toBeInTheDocument();
|
|
175
175
|
});
|
|
@@ -221,7 +221,7 @@ describe("<DataViewEditor /> (render branches only)", () => {
|
|
|
221
221
|
await waitForLoad(rendered);
|
|
222
222
|
|
|
223
223
|
expect(rendered.getByTestId("breadcrumb")).toHaveTextContent(
|
|
224
|
-
"Existing View Name"
|
|
224
|
+
"Existing View Name",
|
|
225
225
|
);
|
|
226
226
|
expect(rendered.getByTestId("advanced-editor")).toBeInTheDocument();
|
|
227
227
|
expect(rendered.queryByTestId("simple-editor")).toBeNull();
|
|
@@ -79,7 +79,7 @@ describe("<DataViewSummary />", () => {
|
|
|
79
79
|
const dataView = createDataView([]);
|
|
80
80
|
const rendered = render(
|
|
81
81
|
<DataViewSummary dataView={dataView} />,
|
|
82
|
-
renderOpts
|
|
82
|
+
renderOpts,
|
|
83
83
|
);
|
|
84
84
|
await waitForLoad(rendered);
|
|
85
85
|
expect(rendered.container).toBeEmptyDOMElement();
|
|
@@ -111,7 +111,7 @@ describe("<DataViewSummary />", () => {
|
|
|
111
111
|
|
|
112
112
|
const rendered = render(
|
|
113
113
|
<DataViewSummary dataView={dataView} />,
|
|
114
|
-
renderOpts
|
|
114
|
+
renderOpts,
|
|
115
115
|
);
|
|
116
116
|
await waitForLoad(rendered);
|
|
117
117
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -185,7 +185,7 @@ describe("<DataViewSummary />", () => {
|
|
|
185
185
|
|
|
186
186
|
const rendered = render(
|
|
187
187
|
<DataViewSummary dataView={dataView} />,
|
|
188
|
-
renderOpts
|
|
188
|
+
renderOpts,
|
|
189
189
|
);
|
|
190
190
|
await waitForLoad(rendered);
|
|
191
191
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -248,7 +248,7 @@ describe("<DataViewSummary />", () => {
|
|
|
248
248
|
|
|
249
249
|
const rendered = render(
|
|
250
250
|
<DataViewSummary dataView={dataView} />,
|
|
251
|
-
renderOpts
|
|
251
|
+
renderOpts,
|
|
252
252
|
);
|
|
253
253
|
await waitForLoad(rendered);
|
|
254
254
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -320,7 +320,7 @@ describe("<DataViewSummary />", () => {
|
|
|
320
320
|
|
|
321
321
|
const rendered = render(
|
|
322
322
|
<DataViewSummary dataView={dataView} />,
|
|
323
|
-
renderOpts
|
|
323
|
+
renderOpts,
|
|
324
324
|
);
|
|
325
325
|
await waitForLoad(rendered);
|
|
326
326
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -496,12 +496,12 @@ describe("<DataViewSummary />", () => {
|
|
|
496
496
|
},
|
|
497
497
|
],
|
|
498
498
|
},
|
|
499
|
-
}
|
|
499
|
+
},
|
|
500
500
|
);
|
|
501
501
|
|
|
502
502
|
const rendered = render(
|
|
503
503
|
<DataViewSummary dataView={dataView} />,
|
|
504
|
-
renderOpts
|
|
504
|
+
renderOpts,
|
|
505
505
|
);
|
|
506
506
|
await waitForLoad(rendered);
|
|
507
507
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -610,7 +610,7 @@ describe("<DataViewSummary />", () => {
|
|
|
610
610
|
|
|
611
611
|
const rendered = render(
|
|
612
612
|
<DataViewSummary dataView={dataView} />,
|
|
613
|
-
renderOpts
|
|
613
|
+
renderOpts,
|
|
614
614
|
);
|
|
615
615
|
await waitForLoad(rendered);
|
|
616
616
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -636,7 +636,7 @@ describe("<DataViewSummary />", () => {
|
|
|
636
636
|
|
|
637
637
|
const rendered = render(
|
|
638
638
|
<DataViewSummary dataView={dataView} />,
|
|
639
|
-
renderOpts
|
|
639
|
+
renderOpts,
|
|
640
640
|
);
|
|
641
641
|
await waitForLoad(rendered);
|
|
642
642
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -662,7 +662,7 @@ describe("<DataViewSummary />", () => {
|
|
|
662
662
|
|
|
663
663
|
const rendered = render(
|
|
664
664
|
<DataViewSummary dataView={dataView} />,
|
|
665
|
-
renderOpts
|
|
665
|
+
renderOpts,
|
|
666
666
|
);
|
|
667
667
|
await waitForLoad(rendered);
|
|
668
668
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -688,7 +688,7 @@ describe("<DataViewSummary />", () => {
|
|
|
688
688
|
|
|
689
689
|
const rendered = render(
|
|
690
690
|
<DataViewSummary dataView={dataView} />,
|
|
691
|
-
renderOpts
|
|
691
|
+
renderOpts,
|
|
692
692
|
);
|
|
693
693
|
await waitForLoad(rendered);
|
|
694
694
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -744,12 +744,12 @@ describe("<DataViewSummary />", () => {
|
|
|
744
744
|
},
|
|
745
745
|
],
|
|
746
746
|
},
|
|
747
|
-
}
|
|
747
|
+
},
|
|
748
748
|
);
|
|
749
749
|
|
|
750
750
|
const rendered = render(
|
|
751
751
|
<DataViewSummary dataView={dataView} />,
|
|
752
|
-
renderOpts
|
|
752
|
+
renderOpts,
|
|
753
753
|
);
|
|
754
754
|
await waitForLoad(rendered);
|
|
755
755
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -807,7 +807,7 @@ describe("<DataViewSummary />", () => {
|
|
|
807
807
|
|
|
808
808
|
const rendered = render(
|
|
809
809
|
<DataViewSummary dataView={dataView} />,
|
|
810
|
-
renderOpts
|
|
810
|
+
renderOpts,
|
|
811
811
|
);
|
|
812
812
|
await waitForLoad(rendered);
|
|
813
813
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -856,7 +856,7 @@ describe("<DataViewSummary />", () => {
|
|
|
856
856
|
|
|
857
857
|
const rendered = render(
|
|
858
858
|
<DataViewSummary dataView={dataView} />,
|
|
859
|
-
renderOpts
|
|
859
|
+
renderOpts,
|
|
860
860
|
);
|
|
861
861
|
await waitForLoad(rendered);
|
|
862
862
|
expect(rendered.container).toMatchSnapshot();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { render, waitForLoad } from "@truedat/test/render";
|
|
3
3
|
import userEvent from "@testing-library/user-event";
|
|
4
|
-
import DataViews from "../DataViews";
|
|
5
4
|
import {
|
|
6
5
|
useDataViews,
|
|
7
6
|
useDataViewDelete,
|
|
8
7
|
} from "@truedat/qx/hooks/useDataViews";
|
|
8
|
+
import DataViews from "../DataViews";
|
|
9
9
|
|
|
10
10
|
const mockFormatMessage = jest.fn(({ id }) => id);
|
|
11
11
|
|
|
@@ -48,12 +48,12 @@ describe("<DataViews />", () => {
|
|
|
48
48
|
await waitForLoad(rendered);
|
|
49
49
|
|
|
50
50
|
expect(
|
|
51
|
-
rendered.getByRole("heading", { name: /dataViews.header/i })
|
|
51
|
+
rendered.getByRole("heading", { name: /dataViews.header/i }),
|
|
52
52
|
).toBeInTheDocument();
|
|
53
53
|
expect(rendered.getByText(/dataViews.empty_list/i)).toBeInTheDocument();
|
|
54
54
|
|
|
55
55
|
expect(
|
|
56
|
-
rendered.getByRole("button", { name: /dataViews.action.new/i })
|
|
56
|
+
rendered.getByRole("button", { name: /dataViews.action.new/i }),
|
|
57
57
|
).toBeInTheDocument();
|
|
58
58
|
expect(rendered.container).toMatchSnapshot();
|
|
59
59
|
});
|
|
@@ -87,16 +87,16 @@ describe("<DataViews />", () => {
|
|
|
87
87
|
expect(rendered.getByText("Inventory")).toBeInTheDocument();
|
|
88
88
|
|
|
89
89
|
const guidedIcon = rendered.container.querySelector(
|
|
90
|
-
".dataViews\\.mode\\.icon\\.guided.icon"
|
|
90
|
+
".dataViews\\.mode\\.icon\\.guided.icon",
|
|
91
91
|
);
|
|
92
92
|
const advancedIcon = rendered.container.querySelector(
|
|
93
|
-
".dataViews\\.mode\\.icon\\.advanced.icon"
|
|
93
|
+
".dataViews\\.mode\\.icon\\.advanced.icon",
|
|
94
94
|
);
|
|
95
95
|
expect(guidedIcon).toBeInTheDocument();
|
|
96
96
|
expect(advancedIcon).toBeInTheDocument();
|
|
97
97
|
|
|
98
98
|
const dataViewLinks = rendered.container.querySelectorAll(
|
|
99
|
-
'a[href^="/dataviews/"]'
|
|
99
|
+
'a[href^="/dataviews/"]',
|
|
100
100
|
);
|
|
101
101
|
expect(dataViewLinks.length).toBe(3);
|
|
102
102
|
|
|
@@ -54,7 +54,7 @@ describe("<Queryable />", () => {
|
|
|
54
54
|
>
|
|
55
55
|
<Queryable index={0} />
|
|
56
56
|
</TestFormWrapper>,
|
|
57
|
-
renderOpts
|
|
57
|
+
renderOpts,
|
|
58
58
|
);
|
|
59
59
|
|
|
60
60
|
expect(container).toMatchSnapshot();
|
|
@@ -78,7 +78,7 @@ describe("<Queryable />", () => {
|
|
|
78
78
|
>
|
|
79
79
|
<Queryable index={0} />
|
|
80
80
|
</TestFormWrapper>,
|
|
81
|
-
renderOpts
|
|
81
|
+
renderOpts,
|
|
82
82
|
);
|
|
83
83
|
|
|
84
84
|
expect(container).toMatchSnapshot();
|
|
@@ -102,7 +102,7 @@ describe("<Queryable />", () => {
|
|
|
102
102
|
>
|
|
103
103
|
<Queryable index={0} />
|
|
104
104
|
</TestFormWrapper>,
|
|
105
|
-
renderOpts
|
|
105
|
+
renderOpts,
|
|
106
106
|
);
|
|
107
107
|
|
|
108
108
|
expect(container).toMatchSnapshot();
|
|
@@ -127,7 +127,7 @@ describe("<Queryable />", () => {
|
|
|
127
127
|
>
|
|
128
128
|
<Queryable index={0} />
|
|
129
129
|
</TestFormWrapper>,
|
|
130
|
-
renderOpts
|
|
130
|
+
renderOpts,
|
|
131
131
|
);
|
|
132
132
|
|
|
133
133
|
expect(container).toMatchSnapshot();
|
|
@@ -160,7 +160,7 @@ describe("<Queryable />", () => {
|
|
|
160
160
|
>
|
|
161
161
|
<Queryable index={0} />
|
|
162
162
|
</TestFormWrapper>,
|
|
163
|
-
renderOpts
|
|
163
|
+
renderOpts,
|
|
164
164
|
);
|
|
165
165
|
|
|
166
166
|
expect(container).toMatchSnapshot();
|
|
@@ -192,7 +192,7 @@ describe("<Queryable />", () => {
|
|
|
192
192
|
>
|
|
193
193
|
<Queryable index={0} />
|
|
194
194
|
</TestFormWrapper>,
|
|
195
|
-
renderOpts
|
|
195
|
+
renderOpts,
|
|
196
196
|
);
|
|
197
197
|
|
|
198
198
|
expect(container).toMatchSnapshot();
|