@truedat/qx 7.5.9 → 7.5.11
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 +45 -64
- package/src/components/QxRoutes.js +38 -19
- package/src/components/__tests__/QxRoutes.spec.js +73 -0
- package/src/components/__tests__/__snapshots__/QxRoutes.spec.js.snap +60 -0
- package/src/components/common/ClauseViewer.js +6 -6
- package/src/components/common/DescriptionInput.js +0 -1
- package/src/components/common/ResourceSelector.js +2 -3
- package/src/components/common/TestFormWrapper.js +2 -13
- package/src/components/common/TypeSelector.js +0 -1
- package/src/components/common/__tests__/DescriptionInput.spec.js +12 -21
- package/src/components/common/__tests__/ResourceSelector.spec.js +42 -87
- package/src/components/common/__tests__/TypeSelector.spec.js +0 -1
- package/src/components/common/__tests__/__snapshots__/ResourceSelector.spec.js.snap +32 -22
- package/src/components/common/expressions/Clauses.js +5 -6
- package/src/components/common/expressions/Condition.js +8 -9
- package/src/components/common/expressions/ConstantSelector.js +2 -2
- package/src/components/common/expressions/Expression.js +2 -2
- package/src/components/common/expressions/FieldSelector.js +2 -2
- package/src/components/common/expressions/FunctionArgs.js +5 -6
- package/src/components/common/expressions/FunctionSelector.js +2 -2
- package/src/components/common/expressions/ParamSelector.js +2 -2
- package/src/components/common/expressions/ShapeSelector.js +7 -16
- package/src/components/common/expressions/__tests__/Clauses.spec.js +10 -9
- package/src/components/common/expressions/__tests__/Condition.spec.js +6 -26
- package/src/components/common/expressions/__tests__/ConstantSelector.spec.js +14 -30
- package/src/components/common/expressions/__tests__/Expression.spec.js +44 -51
- package/src/components/common/expressions/__tests__/FieldSelector.spec.js +2 -7
- package/src/components/common/expressions/__tests__/FunctionArgs.spec.js +18 -44
- package/src/components/common/expressions/__tests__/FunctionSelector.spec.js +19 -27
- package/src/components/common/expressions/__tests__/ParamSelector.spec.js +28 -58
- package/src/components/common/expressions/__tests__/ShapeSelector.spec.js +42 -43
- package/src/components/common/expressions/__tests__/__snapshots__/Condition.spec.js.snap +6 -6
- package/src/components/common/expressions/__tests__/__snapshots__/ConstantSelector.spec.js.snap +6 -7
- package/src/components/common/expressions/__tests__/__snapshots__/Expression.spec.js.snap +20 -20
- package/src/components/common/expressions/__tests__/__snapshots__/FunctionArgs.spec.js.snap +8 -9
- package/src/components/common/expressions/__tests__/__snapshots__/FunctionSelector.spec.js.snap +670 -8
- package/src/components/common/expressions/__tests__/__snapshots__/ParamSelector.spec.js.snap +5 -5
- package/src/components/common/expressions/__tests__/__snapshots__/ShapeSelector.spec.js.snap +9 -9
- package/src/components/common/expressions/__tests__/useWatchParams.spec.js +1 -4
- package/src/components/common/expressions/constantInputs/AnySelector.js +5 -6
- package/src/components/common/expressions/constantInputs/BooleanSelector.js +2 -2
- package/src/components/common/expressions/constantInputs/DefaultSelector.js +2 -2
- package/src/components/common/expressions/constantInputs/__tests__/AnySelector.spec.js +16 -37
- package/src/components/common/expressions/constantInputs/__tests__/BooleanSelector.spec.js +14 -17
- package/src/components/common/expressions/constantInputs/__tests__/DefaultSelector.spec.js +12 -27
- package/src/components/common/expressions/constantInputs/__tests__/__snapshots__/AnySelector.spec.js.snap +11 -11
- package/src/components/common/expressions/constantInputs/__tests__/__snapshots__/DefaultSelector.spec.js.snap +0 -1
- package/src/components/common/resourceSelectors/DataStructureSelector.js +2 -2
- package/src/components/common/resourceSelectors/DataViewSelector.js +2 -2
- package/src/components/common/resourceSelectors/ReferenceDatasetSelector.js +2 -2
- package/src/components/common/resourceSelectors/__tests__/DataStructureSelector.spec.js +5 -29
- package/src/components/common/resourceSelectors/__tests__/DataViewSelector.spec.js +23 -25
- package/src/components/common/resourceSelectors/__tests__/ReferenceDatasetSelector.spec.js +21 -32
- package/src/components/common/resourceSelectors/__tests__/__snapshots__/DataStructureSelector.spec.js.snap +3 -4
- package/src/components/common/resourceSelectors/__tests__/__snapshots__/DataViewSelector.spec.js.snap +1 -1
- package/src/components/common/resourceSelectors/__tests__/__snapshots__/ReferenceDatasetSelector.spec.js.snap +1 -1
- package/src/components/dataViews/DataViewEditor.js +5 -6
- package/src/components/dataViews/DataViewSelect.js +4 -5
- package/src/components/dataViews/DataViews.js +1 -2
- package/src/components/dataViews/Queryable.js +4 -4
- package/src/components/dataViews/Queryables.js +0 -1
- package/src/components/dataViews/__tests__/DataViewEditor.spec.js +36 -111
- package/src/components/dataViews/__tests__/DataViewSelect.spec.js +0 -1
- package/src/components/dataViews/__tests__/DataViews.spec.js +15 -16
- package/src/components/dataViews/__tests__/Queryable.spec.js +0 -1
- package/src/components/dataViews/__tests__/Queryables.spec.js +35 -74
- package/src/components/dataViews/__tests__/__snapshots__/DataViewEditor.spec.js.snap +61 -55
- package/src/components/dataViews/__tests__/__snapshots__/DataViews.spec.js.snap +5 -5
- package/src/components/dataViews/__tests__/__snapshots__/Queryables.spec.js.snap +59 -59
- package/src/components/dataViews/queryableProperties/From.js +4 -4
- package/src/components/dataViews/queryableProperties/GroupBy.js +6 -6
- package/src/components/dataViews/queryableProperties/Join.js +6 -6
- package/src/components/dataViews/queryableProperties/JoinTypeIcon.js +8 -9
- package/src/components/dataViews/queryableProperties/Select.js +4 -5
- package/src/components/dataViews/queryableProperties/SelectField.js +4 -4
- package/src/components/dataViews/queryableProperties/Where.js +4 -4
- package/src/components/dataViews/queryableProperties/__tests__/From.spec.js +0 -1
- package/src/components/dataViews/queryableProperties/__tests__/GroupBy.spec.js +16 -42
- package/src/components/dataViews/queryableProperties/__tests__/Join.spec.js +6 -29
- package/src/components/dataViews/queryableProperties/__tests__/JoinTypeIcon.spec.js +0 -1
- package/src/components/dataViews/queryableProperties/__tests__/Select.spec.js +26 -50
- package/src/components/dataViews/queryableProperties/__tests__/SelectField.spec.js +22 -42
- package/src/components/dataViews/queryableProperties/__tests__/Where.spec.js +6 -17
- package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/GroupBy.spec.js.snap +309 -9
- package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Join.spec.js.snap +12 -12
- package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Select.spec.js.snap +192 -18
- package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/SelectField.spec.js.snap +6 -8
- package/src/components/dataViews/queryableProperties/__tests__/__snapshots__/Where.spec.js.snap +2 -2
- package/src/components/functions/FunctionEditor.js +3 -5
- package/src/components/functions/FunctionParams.js +2 -3
- package/src/components/functions/Functions.js +3 -4
- package/src/components/functions/__tests__/FunctionEditor.spec.js +61 -57
- package/src/components/functions/__tests__/FunctionParams.spec.js +50 -47
- package/src/components/functions/__tests__/Functions.spec.js +5 -12
- package/src/components/functions/__tests__/__snapshots__/FunctionParams.spec.js.snap +11 -11
- package/src/components/functions/__tests__/__snapshots__/Functions.spec.js.snap +4 -5
- package/src/components/qualityControls/ControlProperties.js +4 -4
- package/src/components/qualityControls/ControlPropertiesView.js +0 -1
- package/src/components/qualityControls/EditQualityControl.js +5 -5
- package/src/components/qualityControls/IconPopup.js +0 -1
- package/src/components/qualityControls/NewDraftQualityControl.js +8 -6
- package/src/components/qualityControls/NewQualityControl.js +5 -6
- package/src/components/qualityControls/QualityBadge.js +29 -30
- package/src/components/qualityControls/QualityControl.js +4 -7
- package/src/components/qualityControls/QualityControlActions.js +7 -7
- package/src/components/qualityControls/QualityControlCrumbs.js +1 -3
- package/src/components/qualityControls/QualityControlEditor.js +5 -11
- package/src/components/qualityControls/QualityControlHeader.js +4 -6
- package/src/components/qualityControls/QualityControlHistory.js +3 -3
- package/src/components/qualityControls/QualityControlManageDomain.js +2 -2
- package/src/components/qualityControls/QualityControlQueryModal.js +1 -1
- package/src/components/qualityControls/QualityControlRoutes.js +27 -54
- package/src/components/qualityControls/QualityControlRow.js +0 -2
- package/src/components/qualityControls/QualityControlScores.js +7 -5
- package/src/components/qualityControls/QualityControlTabs.js +2 -2
- package/src/components/qualityControls/QualityControls.js +10 -8
- package/src/components/qualityControls/QualityControlsLabelResults.js +0 -2
- package/src/components/qualityControls/QualityControlsPagination.js +0 -1
- package/src/components/qualityControls/QualityControlsTable.js +1 -2
- package/src/components/qualityControls/ScoreCriteria.js +4 -4
- package/src/components/qualityControls/ScoreCriteriaView.js +0 -1
- package/src/components/qualityControls/__tests__/ControlProperties.spec.js +10 -15
- package/src/components/qualityControls/__tests__/ControlPropertiesView.spec.js +0 -1
- package/src/components/qualityControls/__tests__/EditQualityControl.spec.js +28 -70
- package/src/components/qualityControls/__tests__/IconPopup.spec.js +10 -11
- package/src/components/qualityControls/__tests__/NewDraftQualityControl.spec.js +33 -70
- package/src/components/qualityControls/__tests__/NewQualityControl.spec.js +81 -113
- package/src/components/qualityControls/__tests__/QualityBadge.spec.js +50 -58
- package/src/components/qualityControls/__tests__/QualityControl.spec.js +19 -31
- package/src/components/qualityControls/__tests__/QualityControlActions.spec.js +49 -46
- package/src/components/qualityControls/__tests__/QualityControlCrumbs.spec.js +0 -1
- package/src/components/qualityControls/__tests__/QualityControlEditor.spec.js +68 -107
- package/src/components/qualityControls/__tests__/QualityControlHeader.spec.js +22 -25
- package/src/components/qualityControls/__tests__/QualityControlHistory.spec.js +6 -6
- package/src/components/qualityControls/__tests__/QualityControlManageDomain.spec.js +0 -1
- package/src/components/qualityControls/__tests__/QualityControlQueryModal.spec.js +12 -11
- package/src/components/qualityControls/__tests__/QualityControlRow.spec.js +4 -8
- package/src/components/qualityControls/__tests__/QualityControlScores.spec.js +23 -19
- package/src/components/qualityControls/__tests__/QualityControlTabs.spec.js +2 -3
- package/src/components/qualityControls/__tests__/QualityControls.spec.js +69 -53
- package/src/components/qualityControls/__tests__/QualityControlsLabelResults.spec.js +0 -1
- package/src/components/qualityControls/__tests__/QualityControlsPagination.spec.js +0 -1
- package/src/components/qualityControls/__tests__/QualityControlsTable.spec.js +2 -3
- package/src/components/qualityControls/__tests__/ScoreCriteria.spec.js +0 -1
- package/src/components/qualityControls/__tests__/ScoreCriteriaView.spec.js +0 -1
- package/src/components/qualityControls/__tests__/__fixtures__/qualityControlHelper.js +1 -1
- package/src/components/qualityControls/__tests__/__snapshots__/EditQualityControl.spec.js.snap +32 -34
- package/src/components/qualityControls/__tests__/__snapshots__/NewDraftQualityControl.spec.js.snap +31 -33
- package/src/components/qualityControls/__tests__/__snapshots__/NewQualityControl.spec.js.snap +17 -19
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControl.spec.js.snap +9 -15
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlActions.spec.js.snap +5 -4
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlCrumbs.spec.js.snap +1 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlEditor.spec.js.snap +0 -3
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHeader.spec.js.snap +16 -11
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHistory.spec.js.snap +2 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlRow.spec.js.snap +2 -1
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlScores.spec.js.snap +3 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlTabs.spec.js.snap +3 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControls.spec.js.snap +11 -21
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlsTable.spec.js.snap +2 -0
- package/src/components/qualityControls/controlProperties/Count.js +5 -5
- package/src/components/qualityControls/controlProperties/Ratio.js +6 -8
- package/src/components/qualityControls/controlProperties/__tests__/Count.spec.js +6 -11
- package/src/components/qualityControls/controlProperties/__tests__/Ratio.spec.js +9 -27
- package/src/components/qualityControls/controlProperties/__tests__/__snapshots__/Ratio.spec.js.snap +10 -10
- package/src/components/qualityControls/qualityByControlMode.js +14 -14
- package/src/components/qualityControls/qualityControlScoresColumns.js +1 -2
- package/src/components/qualityControls/scoreCriterias/Deviation.js +2 -2
- package/src/components/qualityControls/scoreCriterias/ErrorCount.js +3 -4
- package/src/components/qualityControls/scoreCriterias/Percentage.js +2 -2
- package/src/components/qualityControls/scoreCriterias/__tests__/Deviation.spec.js +0 -1
- package/src/components/qualityControls/scoreCriterias/__tests__/ErrorCount.spec.js +39 -43
- package/src/components/qualityControls/scoreCriterias/__tests__/Percentage.spec.js +23 -19
- package/src/components/qualityControls/scoreCriterias/__tests__/__snapshots__/ErrorCount.spec.js.snap +4 -7
- package/src/components/scores/MyScoreGroups.js +0 -1
- package/src/components/scores/QualityBar.js +24 -22
- package/src/components/scores/Score.js +4 -5
- package/src/components/scores/ScoreCrumbs.js +3 -5
- package/src/components/scores/ScoreDetails.js +2 -2
- package/src/components/scores/ScoreEvents.js +2 -2
- package/src/components/scores/ScoreGroup.js +5 -4
- package/src/components/scores/ScoreGroupBreadcrumbs.js +1 -2
- package/src/components/scores/ScoreGroupForm.js +2 -4
- package/src/components/scores/ScoreGroupLink.js +1 -2
- package/src/components/scores/ScoreGroupMessage.js +0 -1
- package/src/components/scores/ScoreGroupPopup.js +1 -1
- package/src/components/scores/ScoreGroupsRoutes.js +19 -0
- package/src/components/scores/ScoreGroupsTable.js +15 -48
- package/src/components/scores/ScoreRoutes.js +9 -24
- package/src/components/scores/ScoreStatusDecorator.js +1 -2
- package/src/components/scores/ScoreTabs.js +2 -2
- package/src/components/scores/__tests__/MyScoreGroups.spec.js +0 -1
- package/src/components/scores/__tests__/QualityBar.spec.js +19 -26
- package/src/components/scores/__tests__/Score.spec.js +2 -3
- package/src/components/scores/__tests__/ScoreCrumbs.spec.js +4 -5
- package/src/components/scores/__tests__/ScoreDetails.spec.js +4 -5
- package/src/components/scores/__tests__/ScoreEvents.spec.js +2 -3
- package/src/components/scores/__tests__/ScoreGroup.spec.js +15 -14
- package/src/components/scores/__tests__/ScoreGroupBreadcrumbs.spec.js +0 -1
- package/src/components/scores/__tests__/ScoreGroupForm.spec.js +18 -34
- package/src/components/scores/__tests__/ScoreGroupLink.spec.js +0 -1
- package/src/components/scores/__tests__/ScoreGroupMessage.spec.js +0 -1
- package/src/components/scores/__tests__/ScoreGroupPopup.spec.js +0 -2
- package/src/components/scores/__tests__/ScoreGroupsRoutes.spec.js +32 -0
- package/src/components/scores/__tests__/ScoreGroupsTable.spec.js +0 -1
- package/src/components/scores/__tests__/ScoreStatusDecorator.spec.js +0 -1
- package/src/components/scores/__tests__/ScoreTabs.spec.js +3 -4
- package/src/components/scores/__tests__/__snapshots__/MyScoreGroups.spec.js.snap +2 -0
- package/src/components/scores/__tests__/__snapshots__/Score.spec.js.snap +4 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreCrumbs.spec.js.snap +2 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreDetails.spec.js.snap +1 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroup.spec.js.snap +39 -10
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupBreadcrumbs.spec.js.snap +1 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupForm.spec.js.snap +10 -10
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupLink.spec.js.snap +1 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupsRoutes.spec.js.snap +19 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupsTable.spec.js.snap +2 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreStatusDecorator.spec.js.snap +5 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreTabs.spec.js.snap +4 -0
- package/src/hooks/__tests__/useDataViews.spec.js +1 -1
- package/src/hooks/__tests__/useFunctions.spec.js +5 -5
- package/src/hooks/useDataViews.js +2 -2
- package/src/hooks/useExecutionGroups.js +1 -1
- package/src/hooks/useFunctions.js +4 -4
- package/src/hooks/useQualityControls.js +13 -7
- package/src/hooks/useScoreGroups.js +1 -1
- package/src/hooks/useScores.js +2 -2
- package/src/styles/scores.less +21 -21
- package/src/types.js +1 -4
|
@@ -1,49 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { render } from "@truedat/test/render";
|
|
4
|
-
import { messages } from "@truedat/qx/components/__tests__/__fixtures__/helper";
|
|
1
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
5
2
|
import { scoreData } from "@truedat/qx/components/scores/__tests__/__fixtures__/scoreHelper";
|
|
6
3
|
import QualityBadge, { QualityBadgeForSearch } from "../QualityBadge";
|
|
7
4
|
|
|
8
|
-
const renderOpts = { messages };
|
|
9
|
-
|
|
10
5
|
describe("<QualityBadge />", () => {
|
|
11
|
-
it("matches the latest snapshot", () => {
|
|
6
|
+
it("matches the latest snapshot", async () => {
|
|
12
7
|
const score = scoreData();
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
expect(container).toMatchSnapshot();
|
|
8
|
+
const rendered = render(<QualityBadge score={score} />);
|
|
9
|
+
await waitForLoad(rendered);
|
|
10
|
+
expect(rendered.container).toMatchSnapshot();
|
|
16
11
|
});
|
|
17
12
|
|
|
18
|
-
it("show status failed", () => {
|
|
13
|
+
it("show status failed", async () => {
|
|
19
14
|
const score = scoreData({ status: "FAILED" });
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
expect(queryByText(/
|
|
15
|
+
const rendered = render(<QualityBadge score={score} />);
|
|
16
|
+
await waitForLoad(rendered);
|
|
17
|
+
expect(rendered.queryByText(/failed/i)).toBeInTheDocument();
|
|
23
18
|
});
|
|
24
19
|
|
|
25
|
-
it("show no executed", () => {
|
|
20
|
+
it("show no executed", async () => {
|
|
26
21
|
const score = scoreData({ score_content: undefined });
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
const rendered = render(<QualityBadge score={score} />);
|
|
23
|
+
await waitForLoad(rendered);
|
|
24
|
+
rendered.debug();
|
|
25
|
+
expect(rendered.queryByText(/score.not_executed/i)).toBeInTheDocument();
|
|
30
26
|
});
|
|
31
27
|
|
|
32
|
-
it("show no results", () => {
|
|
28
|
+
it("show no results", async () => {
|
|
33
29
|
const score_content = {
|
|
34
30
|
total_count: 0,
|
|
35
31
|
validation_count: 50,
|
|
36
32
|
};
|
|
37
33
|
|
|
38
34
|
const score = scoreData({ score_content });
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
const rendered = render(<QualityBadge score={score} />);
|
|
36
|
+
await waitForLoad(rendered);
|
|
37
|
+
rendered.debug();
|
|
38
|
+
expect(rendered.queryByText(/score.no_results/i)).toBeInTheDocument();
|
|
42
39
|
});
|
|
43
40
|
});
|
|
44
41
|
|
|
45
42
|
describe("<QualityBadgeForSearch />", () => {
|
|
46
|
-
it("matches the latest snapshot for percentage", () => {
|
|
43
|
+
it("matches the latest snapshot for percentage", async () => {
|
|
47
44
|
const scoreCriteria = {
|
|
48
45
|
goal: 60,
|
|
49
46
|
maximum: 75,
|
|
@@ -60,19 +57,18 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
60
57
|
type: "ratio",
|
|
61
58
|
};
|
|
62
59
|
|
|
63
|
-
const
|
|
60
|
+
const rendered = render(
|
|
64
61
|
<QualityBadgeForSearch
|
|
65
62
|
controlMode={"percentage"}
|
|
66
63
|
criteria={scoreCriteria}
|
|
67
64
|
latestScore={latestScore}
|
|
68
|
-
|
|
69
|
-
renderOpts
|
|
65
|
+
/>
|
|
70
66
|
);
|
|
71
|
-
|
|
72
|
-
expect(container).toMatchSnapshot();
|
|
67
|
+
await waitForLoad(rendered);
|
|
68
|
+
expect(rendered.container).toMatchSnapshot();
|
|
73
69
|
});
|
|
74
70
|
|
|
75
|
-
it("matches the latest snapshot for deviation", () => {
|
|
71
|
+
it("matches the latest snapshot for deviation", async () => {
|
|
76
72
|
const scoreCriteria = {
|
|
77
73
|
goal: 78,
|
|
78
74
|
maximum: 90,
|
|
@@ -89,19 +85,18 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
89
85
|
type: "ratio",
|
|
90
86
|
};
|
|
91
87
|
|
|
92
|
-
const
|
|
88
|
+
const rendered = render(
|
|
93
89
|
<QualityBadgeForSearch
|
|
94
90
|
controlMode={"deviation"}
|
|
95
91
|
criteria={scoreCriteria}
|
|
96
92
|
latestScore={latestScore}
|
|
97
|
-
|
|
98
|
-
renderOpts
|
|
93
|
+
/>
|
|
99
94
|
);
|
|
100
|
-
|
|
101
|
-
expect(container).toMatchSnapshot();
|
|
95
|
+
await waitForLoad(rendered);
|
|
96
|
+
expect(rendered.container).toMatchSnapshot();
|
|
102
97
|
});
|
|
103
98
|
|
|
104
|
-
it("matches the latest snapshot for count", () => {
|
|
99
|
+
it("matches the latest snapshot for count", async () => {
|
|
105
100
|
const scoreCriteria = {
|
|
106
101
|
goal: 78,
|
|
107
102
|
maximum: 90,
|
|
@@ -117,19 +112,18 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
117
112
|
type: "count",
|
|
118
113
|
};
|
|
119
114
|
|
|
120
|
-
const
|
|
115
|
+
const rendered = render(
|
|
121
116
|
<QualityBadgeForSearch
|
|
122
117
|
controlMode={"count"}
|
|
123
118
|
criteria={scoreCriteria}
|
|
124
119
|
latestScore={latestScore}
|
|
125
|
-
|
|
126
|
-
renderOpts
|
|
120
|
+
/>
|
|
127
121
|
);
|
|
128
|
-
|
|
129
|
-
expect(container).toMatchSnapshot();
|
|
122
|
+
await waitForLoad(rendered);
|
|
123
|
+
expect(rendered.container).toMatchSnapshot();
|
|
130
124
|
});
|
|
131
125
|
|
|
132
|
-
it("show status failed", () => {
|
|
126
|
+
it("show status failed", async () => {
|
|
133
127
|
const latestScore = {
|
|
134
128
|
result_message: null,
|
|
135
129
|
status: "failed",
|
|
@@ -139,19 +133,18 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
139
133
|
minimum: 10,
|
|
140
134
|
};
|
|
141
135
|
|
|
142
|
-
const
|
|
136
|
+
const rendered = render(
|
|
143
137
|
<QualityBadgeForSearch
|
|
144
138
|
controlMode={"percentage"}
|
|
145
139
|
criteria={scoreCriteria}
|
|
146
140
|
latestScore={latestScore}
|
|
147
|
-
|
|
148
|
-
renderOpts
|
|
141
|
+
/>
|
|
149
142
|
);
|
|
150
|
-
|
|
151
|
-
expect(queryByText(/
|
|
143
|
+
await waitForLoad(rendered);
|
|
144
|
+
expect(rendered.queryByText(/failed/i)).toBeInTheDocument();
|
|
152
145
|
});
|
|
153
146
|
|
|
154
|
-
it("show no executed", () => {
|
|
147
|
+
it("show no executed", async () => {
|
|
155
148
|
const scoreCriteria = {
|
|
156
149
|
goal: 78,
|
|
157
150
|
maximum: 90,
|
|
@@ -159,19 +152,18 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
159
152
|
const latestScore = {
|
|
160
153
|
result_message: null,
|
|
161
154
|
};
|
|
162
|
-
const
|
|
155
|
+
const rendered = render(
|
|
163
156
|
<QualityBadgeForSearch
|
|
164
157
|
controlMode={"count"}
|
|
165
158
|
criteria={scoreCriteria}
|
|
166
159
|
latestScore={latestScore}
|
|
167
|
-
|
|
168
|
-
renderOpts
|
|
160
|
+
/>
|
|
169
161
|
);
|
|
170
|
-
|
|
171
|
-
expect(container).toMatchSnapshot();
|
|
162
|
+
await waitForLoad(rendered);
|
|
163
|
+
expect(rendered.container).toMatchSnapshot();
|
|
172
164
|
});
|
|
173
165
|
|
|
174
|
-
it("show no results", () => {
|
|
166
|
+
it("show no results", async () => {
|
|
175
167
|
const scoreCriteria = {
|
|
176
168
|
goal: 60,
|
|
177
169
|
maximum: 75,
|
|
@@ -187,15 +179,15 @@ describe("<QualityBadgeForSearch />", () => {
|
|
|
187
179
|
status: "succeeded",
|
|
188
180
|
type: "ratio",
|
|
189
181
|
};
|
|
190
|
-
const
|
|
182
|
+
const rendered = render(
|
|
191
183
|
<QualityBadgeForSearch
|
|
192
184
|
controlMode={"percentage"}
|
|
193
185
|
criteria={scoreCriteria}
|
|
194
186
|
latestScore={latestScore}
|
|
195
|
-
|
|
196
|
-
renderOpts
|
|
187
|
+
/>
|
|
197
188
|
);
|
|
198
|
-
|
|
199
|
-
|
|
189
|
+
await waitForLoad(rendered);
|
|
190
|
+
rendered.debug();
|
|
191
|
+
expect(rendered.queryByText(/score.no_results/i)).toBeInTheDocument();
|
|
200
192
|
});
|
|
201
193
|
});
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { render } from "@truedat/test/render";
|
|
1
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
3
2
|
import { waitFor } from "@testing-library/react";
|
|
4
3
|
import TestFormWrapper from "@truedat/qx/components/common/TestFormWrapper";
|
|
5
4
|
import userEvent from "@testing-library/user-event";
|
|
6
5
|
import { templateByNameMock } from "@truedat/test/mocks";
|
|
7
|
-
import { messages } from "@truedat/qx/components/__tests__/__fixtures__/helper";
|
|
8
6
|
import { DOMAINS_QUERY } from "@truedat/core/api/queries";
|
|
9
7
|
import QualityControl from "../QualityControl";
|
|
10
8
|
import { qualityControlData } from "./__fixtures__/qualityControlHelper";
|
|
@@ -41,8 +39,6 @@ const renderOpts = {
|
|
|
41
39
|
createDomainsMock,
|
|
42
40
|
templateByNameMock({ name: "template1", domainIds: [2] }),
|
|
43
41
|
],
|
|
44
|
-
messages,
|
|
45
|
-
fallback: "loading",
|
|
46
42
|
};
|
|
47
43
|
|
|
48
44
|
describe("<QualityControl />", () => {
|
|
@@ -51,35 +47,28 @@ describe("<QualityControl />", () => {
|
|
|
51
47
|
qualityControl: qualityControlData(),
|
|
52
48
|
actions: ["update_main"],
|
|
53
49
|
};
|
|
54
|
-
const
|
|
50
|
+
const rendered = render(
|
|
55
51
|
<TestFormWrapper context={context}>
|
|
56
52
|
<QualityControl />
|
|
57
53
|
</TestFormWrapper>,
|
|
58
54
|
renderOpts
|
|
59
55
|
);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
expect(queryByText(/loading/i)).not.toBeInTheDocument();
|
|
63
|
-
expect(container.querySelector(".loader")).not.toBeInTheDocument();
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
expect(container).toMatchSnapshot();
|
|
56
|
+
await waitForLoad(rendered);
|
|
57
|
+
expect(rendered.container).toMatchSnapshot();
|
|
67
58
|
});
|
|
68
59
|
|
|
69
60
|
it("do not show edit domain if the user does not have permissions", async () => {
|
|
70
61
|
const context = { qualityControl: qualityControlData() };
|
|
71
|
-
const
|
|
62
|
+
const rendered = render(
|
|
72
63
|
<TestFormWrapper context={context}>
|
|
73
64
|
<QualityControl />
|
|
74
65
|
</TestFormWrapper>,
|
|
75
66
|
renderOpts
|
|
76
67
|
);
|
|
77
|
-
await
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
).not.toBeInTheDocument();
|
|
82
|
-
});
|
|
68
|
+
await waitForLoad(rendered);
|
|
69
|
+
expect(
|
|
70
|
+
rendered.container.querySelector(".pencil.alternate.icon")
|
|
71
|
+
).not.toBeInTheDocument();
|
|
83
72
|
});
|
|
84
73
|
|
|
85
74
|
it("render popup when edit domain", async () => {
|
|
@@ -87,27 +76,25 @@ describe("<QualityControl />", () => {
|
|
|
87
76
|
qualityControl: qualityControlData(),
|
|
88
77
|
actions: ["update_main"],
|
|
89
78
|
};
|
|
90
|
-
const
|
|
79
|
+
const rendered = render(
|
|
91
80
|
<TestFormWrapper context={context}>
|
|
92
81
|
<QualityControl />
|
|
93
82
|
</TestFormWrapper>,
|
|
94
83
|
renderOpts
|
|
95
84
|
);
|
|
85
|
+
await waitForLoad(rendered);
|
|
96
86
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
const pencilButton = container.querySelector(".pencil.alternate.icon");
|
|
87
|
+
const pencilButton = rendered.container.querySelector(
|
|
88
|
+
".pencil.alternate.icon"
|
|
89
|
+
);
|
|
103
90
|
userEvent.click(pencilButton);
|
|
104
91
|
|
|
105
92
|
await waitFor(() => {
|
|
106
|
-
expect(queryByText(/
|
|
93
|
+
expect(rendered.queryByText(/foodomain/i)).toBeInTheDocument();
|
|
107
94
|
});
|
|
108
95
|
userEvent.click(pencilButton);
|
|
109
96
|
await waitFor(() => {
|
|
110
|
-
expect(queryByText(/
|
|
97
|
+
expect(rendered.queryByText(/foodomain/i)).not.toBeInTheDocument();
|
|
111
98
|
});
|
|
112
99
|
});
|
|
113
100
|
|
|
@@ -115,14 +102,15 @@ describe("<QualityControl />", () => {
|
|
|
115
102
|
const context = {
|
|
116
103
|
qualityControl: qualityControlData({ df_type: undefined }),
|
|
117
104
|
};
|
|
118
|
-
const
|
|
105
|
+
const rendered = render(
|
|
119
106
|
<TestFormWrapper context={context}>
|
|
120
107
|
<QualityControl />
|
|
121
108
|
</TestFormWrapper>,
|
|
122
109
|
renderOpts
|
|
123
110
|
);
|
|
111
|
+
await waitForLoad(rendered);
|
|
124
112
|
await waitFor(() =>
|
|
125
|
-
expect(queryByText(/
|
|
113
|
+
expect(rendered.queryByText(/information/i)).not.toBeInTheDocument()
|
|
126
114
|
);
|
|
127
115
|
});
|
|
128
116
|
});
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import userEvent from "@testing-library/user-event";
|
|
3
1
|
import { waitFor } from "@testing-library/react";
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
6
4
|
import { singleTemplateMock } from "@truedat/test/mocks";
|
|
7
5
|
import TestFormWrapper from "@truedat/qx/components/common/TestFormWrapper";
|
|
8
6
|
import QualityControlActions from "../QualityControlActions";
|
|
9
7
|
import { qualityControlData } from "./__fixtures__/qualityControlHelper";
|
|
10
8
|
|
|
11
|
-
const
|
|
9
|
+
const mockNavigate = jest.fn();
|
|
12
10
|
|
|
13
|
-
jest.mock("react-router
|
|
14
|
-
...jest.requireActual("react-router
|
|
15
|
-
|
|
11
|
+
jest.mock("react-router", () => ({
|
|
12
|
+
...jest.requireActual("react-router"),
|
|
13
|
+
useNavigate: () => mockNavigate,
|
|
16
14
|
}));
|
|
17
15
|
|
|
18
16
|
jest.mock("@truedat/core/hooks", () => ({
|
|
@@ -78,54 +76,50 @@ const context = {
|
|
|
78
76
|
const variables = { scope: "qxe" };
|
|
79
77
|
const renderOpts = {
|
|
80
78
|
mocks: [singleTemplateMock(variables)],
|
|
81
|
-
messages,
|
|
82
|
-
fallback: "loading",
|
|
83
79
|
};
|
|
84
80
|
|
|
85
81
|
describe("<QualityControlActions />", () => {
|
|
86
82
|
it("matches the latest snapshot with actions for published status", async () => {
|
|
87
|
-
const
|
|
83
|
+
const rendered = render(
|
|
88
84
|
<TestFormWrapper context={{ ...context }}>
|
|
89
85
|
<QualityControlActions />
|
|
90
86
|
</TestFormWrapper>,
|
|
91
87
|
renderOpts
|
|
92
88
|
);
|
|
93
|
-
await
|
|
94
|
-
|
|
95
|
-
);
|
|
96
|
-
expect(container).toMatchSnapshot();
|
|
89
|
+
await waitForLoad(rendered);
|
|
90
|
+
expect(rendered.container).toMatchSnapshot();
|
|
97
91
|
});
|
|
98
92
|
|
|
99
|
-
it("render actions for dratf status", () => {
|
|
93
|
+
it("render actions for dratf status", async () => {
|
|
100
94
|
const newContext = {
|
|
101
95
|
...context,
|
|
102
96
|
actions: ["send_to_approval", "publish", "edit", "toggle_active"],
|
|
103
97
|
};
|
|
104
|
-
const
|
|
98
|
+
const rendered = render(
|
|
105
99
|
<TestFormWrapper context={{ ...newContext }}>
|
|
106
100
|
<QualityControlActions />
|
|
107
101
|
</TestFormWrapper>,
|
|
108
102
|
renderOpts
|
|
109
103
|
);
|
|
110
|
-
|
|
111
|
-
expect(
|
|
104
|
+
await waitForLoad(rendered);
|
|
105
|
+
expect(rendered.getByText(/edit/i)).toBeInTheDocument();
|
|
112
106
|
});
|
|
113
107
|
|
|
114
108
|
it("renders the correct actions", async () => {
|
|
115
|
-
const
|
|
109
|
+
const rendered = render(
|
|
116
110
|
<TestFormWrapper context={{ ...context }}>
|
|
117
111
|
<QualityControlActions />
|
|
118
112
|
</TestFormWrapper>,
|
|
119
113
|
renderOpts
|
|
120
114
|
);
|
|
121
|
-
await
|
|
122
|
-
expect(getByText(/
|
|
123
|
-
expect(getByText(/
|
|
115
|
+
await waitForLoad(rendered);
|
|
116
|
+
expect(rendered.getByText(/actions.create_draft/i)).toBeInTheDocument();
|
|
117
|
+
expect(rendered.getByText(/disable/i)).toBeInTheDocument();
|
|
124
118
|
});
|
|
125
119
|
|
|
126
120
|
it("render the correct actions when is disabled", async () => {
|
|
127
121
|
const disableQualityControl = qualityControlData({ active: false });
|
|
128
|
-
const
|
|
122
|
+
const rendered = render(
|
|
129
123
|
<TestFormWrapper
|
|
130
124
|
context={{ ...context, qualityControl: disableQualityControl }}
|
|
131
125
|
>
|
|
@@ -133,73 +127,82 @@ describe("<QualityControlActions />", () => {
|
|
|
133
127
|
</TestFormWrapper>,
|
|
134
128
|
renderOpts
|
|
135
129
|
);
|
|
136
|
-
await
|
|
137
|
-
expect(getByText(/
|
|
130
|
+
await waitForLoad(rendered);
|
|
131
|
+
expect(rendered.getByText(/enable/i)).toBeInTheDocument();
|
|
138
132
|
});
|
|
139
133
|
|
|
140
134
|
it("render onConfirm when toggle_active button is clicked", async () => {
|
|
141
|
-
const {
|
|
135
|
+
const user = userEvent.setup({ delay: null });
|
|
136
|
+
const rendered = render(
|
|
142
137
|
<TestFormWrapper context={{ ...context }}>
|
|
143
138
|
<QualityControlActions />
|
|
144
139
|
</TestFormWrapper>,
|
|
145
140
|
renderOpts
|
|
146
141
|
);
|
|
142
|
+
await waitForLoad(rendered);
|
|
147
143
|
|
|
148
|
-
|
|
144
|
+
await user.click(rendered.getByText(/enable|disable/i));
|
|
149
145
|
await waitFor(() =>
|
|
150
|
-
expect(
|
|
146
|
+
expect(rendered.getByText(/confirmation.yes/i)).toBeInTheDocument()
|
|
151
147
|
);
|
|
152
|
-
|
|
148
|
+
await user.click(rendered.getByText(/confirmation.yes/i));
|
|
153
149
|
await waitFor(() => expect(mutate).toHaveBeenCalledTimes(1));
|
|
154
150
|
});
|
|
155
151
|
|
|
156
|
-
it("renders correct Link components for create_draft and edit actions", () => {
|
|
152
|
+
it("renders correct Link components for create_draft and edit actions", async () => {
|
|
157
153
|
const actions = ["create_draft", "edit"];
|
|
158
|
-
const
|
|
154
|
+
const rendered = render(
|
|
159
155
|
<TestFormWrapper context={{ ...context, actions }}>
|
|
160
156
|
<QualityControlActions />
|
|
161
157
|
</TestFormWrapper>,
|
|
162
158
|
renderOpts
|
|
163
159
|
);
|
|
160
|
+
await waitForLoad(rendered);
|
|
164
161
|
|
|
165
|
-
expect(
|
|
162
|
+
expect(
|
|
163
|
+
rendered.getByText(/actions.create_draft/i).closest("a")
|
|
164
|
+
).toHaveAttribute(
|
|
166
165
|
"href",
|
|
167
166
|
`/qualityControls/${qualityControl.id}/version/${qualityControl.version}/new_draft`
|
|
168
167
|
);
|
|
169
|
-
expect(getByText(/
|
|
168
|
+
expect(rendered.getByText(/edit/i).closest("a")).toHaveAttribute(
|
|
170
169
|
"href",
|
|
171
170
|
`/qualityControls/${qualityControl.id}/version/${qualityControl.version}/edit`
|
|
172
171
|
);
|
|
173
172
|
});
|
|
174
173
|
|
|
175
174
|
it("calls updateStatus when default action button is clicked", async () => {
|
|
176
|
-
const {
|
|
175
|
+
const user = userEvent.setup({ delay: null });
|
|
176
|
+
const rendered = render(
|
|
177
177
|
<TestFormWrapper context={{ ...context, actions: ["publish"] }}>
|
|
178
178
|
<QualityControlActions />
|
|
179
179
|
</TestFormWrapper>,
|
|
180
180
|
renderOpts
|
|
181
181
|
);
|
|
182
|
-
|
|
183
|
-
await
|
|
182
|
+
await waitForLoad(rendered);
|
|
183
|
+
await user.click(rendered.getByText(/publish/i));
|
|
184
|
+
await waitFor(() =>
|
|
185
|
+
expect(rendered.getByText(/publish/i)).toBeInTheDocument()
|
|
186
|
+
);
|
|
184
187
|
});
|
|
185
188
|
|
|
186
189
|
it("calls onCreateScoreGroup when ScoreGroupPopup is submitted", async () => {
|
|
187
|
-
const {
|
|
190
|
+
const user = userEvent.setup({ delay: null });
|
|
191
|
+
const rendered = render(
|
|
188
192
|
<TestFormWrapper context={{ ...context }}>
|
|
189
193
|
<QualityControlActions />
|
|
190
194
|
</TestFormWrapper>,
|
|
191
195
|
renderOpts
|
|
192
196
|
);
|
|
197
|
+
await waitForLoad(rendered);
|
|
198
|
+
|
|
199
|
+
await user.click(rendered.getByText(/actions.do_execution/i));
|
|
193
200
|
|
|
194
201
|
await waitFor(() =>
|
|
195
|
-
expect(queryByText(
|
|
202
|
+
expect(rendered.queryByText("actions.create")).toBeEnabled()
|
|
196
203
|
);
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
await waitFor(() => expect(queryByText("Create")).toBeInTheDocument());
|
|
201
|
-
userEvent.click(getByText("Create"));
|
|
202
|
-
await waitFor(() => expect(mockHistory.push.mock.calls.length).toBe(1));
|
|
203
|
-
expect(mockHistory.push.mock.calls[0][0]).toBe("/scoreGroups/36");
|
|
204
|
+
await user.click(rendered.getByText("actions.create"));
|
|
205
|
+
await waitFor(() => expect(mockNavigate.mock.calls.length).toBe(1));
|
|
206
|
+
expect(mockNavigate.mock.calls[0][0]).toBe("/scoreGroups/36");
|
|
204
207
|
});
|
|
205
208
|
});
|