@truedat/qx 7.4.0 → 7.4.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 +4 -4
- package/src/api.js +3 -2
- package/src/components/qualityControls/EditQualityControl.js +9 -7
- package/src/components/qualityControls/NewDraftQualityControl.js +13 -8
- package/src/components/qualityControls/NewQualityControl.js +8 -6
- package/src/components/qualityControls/QualityBadge.js +85 -2
- package/src/components/qualityControls/QualityControlActions.js +53 -4
- package/src/components/qualityControls/QualityControlHeader.js +2 -2
- package/src/components/qualityControls/QualityControlHistory.js +6 -0
- package/src/components/qualityControls/QualityControlRoutes.js +3 -1
- package/src/components/qualityControls/QualityControlScores.js +4 -4
- package/src/components/qualityControls/QualityControls.js +4 -4
- package/src/components/qualityControls/QualityControlsTable.js +17 -4
- package/src/components/qualityControls/__tests__/EditQualityControl.spec.js +2 -2
- package/src/components/qualityControls/__tests__/NewDraftQualityControl.spec.js +3 -3
- package/src/components/qualityControls/__tests__/NewQualityControl.spec.js +2 -2
- package/src/components/qualityControls/__tests__/QualityBadge.spec.js +173 -2
- package/src/components/qualityControls/__tests__/QualityControlActions.spec.js +7 -2
- package/src/components/qualityControls/__tests__/QualityControlHeader.spec.js +7 -1
- package/src/components/qualityControls/__tests__/QualityControlRow.spec.js +1 -3
- package/src/components/qualityControls/__tests__/QualityControlScores.spec.js +1 -1
- package/src/components/qualityControls/__tests__/QualityControlTabs.spec.js +2 -2
- package/src/components/qualityControls/__tests__/QualityControls.spec.js +8 -8
- package/src/components/qualityControls/__tests__/QualityControlsTable.spec.js +4 -1
- package/src/components/qualityControls/__tests__/__fixtures__/qualityControlHelper.js +16 -11
- package/src/components/qualityControls/__tests__/__snapshots__/QualityBadge.spec.js.snap +32 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlActions.spec.js.snap +1 -3
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHeader.spec.js.snap +13 -4
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHistory.spec.js.snap +10 -2
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlRow.spec.js.snap +20 -2
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlScores.spec.js.snap +3 -3
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlTabs.spec.js.snap +3 -3
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControls.spec.js.snap +15 -1
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlsTable.spec.js.snap +25 -2
- package/src/components/qualityControls/qualityByControlMode.js +24 -7
- package/src/components/qualityControls/qualityControlScoresColumns.js +11 -4
- package/src/components/scores/QualityBar.js +23 -1
- package/src/components/scores/ScoreCrumbs.js +4 -1
- package/src/components/scores/ScoreGroup.js +2 -2
- package/src/components/scores/__tests__/QualityBar.spec.js +1 -1
- package/src/components/scores/__tests__/Score.spec.js +2 -2
- package/src/components/scores/__tests__/ScoreGroup.spec.js +1 -1
- package/src/components/scores/__tests__/__fixtures__/scoreHelper.js +1 -0
- package/src/components/scores/__tests__/__snapshots__/Score.spec.js.snap +1 -1
- package/src/components/scores/__tests__/__snapshots__/ScoreCrumbs.spec.js.snap +1 -1
- package/src/components/scores/__tests__/__snapshots__/ScoreGroup.spec.js.snap +1 -1
- package/src/hooks/useQualityControls.js +8 -5
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import _ from "lodash/fp";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { render } from "@truedat/test/render";
|
|
3
4
|
import { messages } from "@truedat/qx/components/__tests__/__fixtures__/helper";
|
|
4
5
|
import { scoreData } from "@truedat/qx/components/scores/__tests__/__fixtures__/scoreHelper";
|
|
5
|
-
import QualityBadge from "../QualityBadge";
|
|
6
|
+
import QualityBadge, { QualityBadgeForSearch } from "../QualityBadge";
|
|
6
7
|
|
|
7
8
|
const renderOpts = { messages };
|
|
8
9
|
|
|
@@ -21,10 +22,180 @@ describe("<QualityBadge />", () => {
|
|
|
21
22
|
expect(queryByText(/Failed/i)).toBeInTheDocument();
|
|
22
23
|
});
|
|
23
24
|
|
|
24
|
-
it("show no
|
|
25
|
+
it("show no executed", () => {
|
|
25
26
|
const score = scoreData({ score_content: undefined });
|
|
26
27
|
const { queryByText } = render(<QualityBadge score={score} />, renderOpts);
|
|
27
28
|
|
|
29
|
+
expect(queryByText(/Not executed/i)).toBeInTheDocument();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("show no results", () => {
|
|
33
|
+
const score_content = {
|
|
34
|
+
total_count: 0,
|
|
35
|
+
validation_count: 50,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const score = scoreData({ score_content });
|
|
39
|
+
const { queryByText } = render(<QualityBadge score={score} />, renderOpts);
|
|
40
|
+
|
|
41
|
+
expect(queryByText(/No results/i)).toBeInTheDocument();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe("<QualityBadgeForSearch />", () => {
|
|
46
|
+
it("matches the latest snapshot for percentage", () => {
|
|
47
|
+
const scoreCriteria = {
|
|
48
|
+
goal: 60,
|
|
49
|
+
maximum: 75,
|
|
50
|
+
};
|
|
51
|
+
const latestScore = {
|
|
52
|
+
executed_at: "2025-03-25T05:34:21.438113Z",
|
|
53
|
+
ratio_content: {
|
|
54
|
+
total_count: 100,
|
|
55
|
+
validation_count: 100,
|
|
56
|
+
},
|
|
57
|
+
result: 100,
|
|
58
|
+
result_message: "meets_goal",
|
|
59
|
+
status: "succeeded",
|
|
60
|
+
type: "ratio",
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const { container } = render(
|
|
64
|
+
<QualityBadgeForSearch
|
|
65
|
+
controlMode={"percentage"}
|
|
66
|
+
criteria={scoreCriteria}
|
|
67
|
+
latestScore={latestScore}
|
|
68
|
+
/>,
|
|
69
|
+
renderOpts
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
expect(container).toMatchSnapshot();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it("matches the latest snapshot for deviation", () => {
|
|
76
|
+
const scoreCriteria = {
|
|
77
|
+
goal: 78,
|
|
78
|
+
maximum: 90,
|
|
79
|
+
};
|
|
80
|
+
const latestScore = {
|
|
81
|
+
executed_at: "2025-03-25T05:34:21.438113Z",
|
|
82
|
+
ratio_content: {
|
|
83
|
+
total_count: 100,
|
|
84
|
+
validation_count: 5,
|
|
85
|
+
},
|
|
86
|
+
result: 100,
|
|
87
|
+
result_message: "under_goal",
|
|
88
|
+
status: "succeeded",
|
|
89
|
+
type: "ratio",
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const { container } = render(
|
|
93
|
+
<QualityBadgeForSearch
|
|
94
|
+
controlMode={"deviation"}
|
|
95
|
+
criteria={scoreCriteria}
|
|
96
|
+
latestScore={latestScore}
|
|
97
|
+
/>,
|
|
98
|
+
renderOpts
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
expect(container).toMatchSnapshot();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
it("matches the latest snapshot for error_count", () => {
|
|
105
|
+
const scoreCriteria = {
|
|
106
|
+
goal: 78,
|
|
107
|
+
maximum: 90,
|
|
108
|
+
};
|
|
109
|
+
const latestScore = {
|
|
110
|
+
executed_at: "2025-03-25T05:34:21.438113Z",
|
|
111
|
+
error_count_content: {
|
|
112
|
+
error_count: 200,
|
|
113
|
+
},
|
|
114
|
+
result: 200,
|
|
115
|
+
result_message: "under_threshold",
|
|
116
|
+
status: "succeeded",
|
|
117
|
+
type: "error_count",
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
const { container } = render(
|
|
121
|
+
<QualityBadgeForSearch
|
|
122
|
+
controlMode={"error_count"}
|
|
123
|
+
criteria={scoreCriteria}
|
|
124
|
+
latestScore={latestScore}
|
|
125
|
+
/>,
|
|
126
|
+
renderOpts
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
expect(container).toMatchSnapshot();
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it("show status failed", () => {
|
|
133
|
+
const latestScore = {
|
|
134
|
+
result_message: null,
|
|
135
|
+
status: "failed",
|
|
136
|
+
};
|
|
137
|
+
const scoreCriteria = {
|
|
138
|
+
goal: 20,
|
|
139
|
+
minimum: 10,
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
const { queryByText } = render(
|
|
143
|
+
<QualityBadgeForSearch
|
|
144
|
+
controlMode={"percentage"}
|
|
145
|
+
criteria={scoreCriteria}
|
|
146
|
+
latestScore={latestScore}
|
|
147
|
+
/>,
|
|
148
|
+
renderOpts
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
expect(queryByText(/Failed/i)).toBeInTheDocument();
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it("show no executed", () => {
|
|
155
|
+
const scoreCriteria = {
|
|
156
|
+
goal: 78,
|
|
157
|
+
maximum: 90,
|
|
158
|
+
};
|
|
159
|
+
const latestScore = {
|
|
160
|
+
result_message: null,
|
|
161
|
+
};
|
|
162
|
+
const { container } = render(
|
|
163
|
+
<QualityBadgeForSearch
|
|
164
|
+
controlMode={"error_count"}
|
|
165
|
+
criteria={scoreCriteria}
|
|
166
|
+
latestScore={latestScore}
|
|
167
|
+
/>,
|
|
168
|
+
renderOpts
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
expect(container).toMatchSnapshot();
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
it("show no results", () => {
|
|
175
|
+
const scoreCriteria = {
|
|
176
|
+
goal: 60,
|
|
177
|
+
maximum: 75,
|
|
178
|
+
};
|
|
179
|
+
const latestScore = {
|
|
180
|
+
executed_at: "2025-03-25T05:34:21.438113Z",
|
|
181
|
+
ratio_content: {
|
|
182
|
+
total_count: 0,
|
|
183
|
+
validation_count: 80,
|
|
184
|
+
},
|
|
185
|
+
result: null,
|
|
186
|
+
result_message: "no_results",
|
|
187
|
+
status: "succeeded",
|
|
188
|
+
type: "ratio",
|
|
189
|
+
};
|
|
190
|
+
const { queryByText } = render(
|
|
191
|
+
<QualityBadgeForSearch
|
|
192
|
+
controlMode={"percentage"}
|
|
193
|
+
criteria={scoreCriteria}
|
|
194
|
+
latestScore={latestScore}
|
|
195
|
+
/>,
|
|
196
|
+
renderOpts
|
|
197
|
+
);
|
|
198
|
+
|
|
28
199
|
expect(queryByText(/No results/i)).toBeInTheDocument();
|
|
29
200
|
});
|
|
30
201
|
});
|
|
@@ -37,6 +37,11 @@ jest.mock("@truedat/qx/hooks/useQualityControls", () => {
|
|
|
37
37
|
isMutating: false,
|
|
38
38
|
loading: false,
|
|
39
39
|
})),
|
|
40
|
+
useQualityControlDelete: jest.fn(() => ({
|
|
41
|
+
trigger: jest.fn(() => Promise.resolve()),
|
|
42
|
+
data: qualityControlData(),
|
|
43
|
+
loading: false,
|
|
44
|
+
})),
|
|
40
45
|
};
|
|
41
46
|
});
|
|
42
47
|
|
|
@@ -159,11 +164,11 @@ describe("<QualityControlActions />", () => {
|
|
|
159
164
|
|
|
160
165
|
expect(getByText(/Create Draft/i).closest("a")).toHaveAttribute(
|
|
161
166
|
"href",
|
|
162
|
-
`/qualityControls/${qualityControl.id}/new_draft`
|
|
167
|
+
`/qualityControls/${qualityControl.id}/version/${qualityControl.version}/new_draft`
|
|
163
168
|
);
|
|
164
169
|
expect(getByText(/Edit/i).closest("a")).toHaveAttribute(
|
|
165
170
|
"href",
|
|
166
|
-
`/qualityControls/${qualityControl.id}/edit`
|
|
171
|
+
`/qualityControls/${qualityControl.id}/version/${qualityControl.version}/edit`
|
|
167
172
|
);
|
|
168
173
|
});
|
|
169
174
|
|
|
@@ -7,7 +7,7 @@ import { qualityControlData } from "./__fixtures__/qualityControlHelper";
|
|
|
7
7
|
|
|
8
8
|
jest.mock("react-router-dom", () => ({
|
|
9
9
|
...jest.requireActual("react-router-dom"),
|
|
10
|
-
useParams: () => ({ id: "8" }),
|
|
10
|
+
useParams: () => ({ id: "8", version: "1" }),
|
|
11
11
|
}));
|
|
12
12
|
|
|
13
13
|
jest.mock("@truedat/qx/hooks/useQualityControls", () => {
|
|
@@ -26,6 +26,7 @@ jest.mock("@truedat/qx/hooks/useQualityControls", () => {
|
|
|
26
26
|
"delete_score",
|
|
27
27
|
"update_main",
|
|
28
28
|
"execute",
|
|
29
|
+
"delete",
|
|
29
30
|
],
|
|
30
31
|
},
|
|
31
32
|
loading: false,
|
|
@@ -41,6 +42,11 @@ jest.mock("@truedat/qx/hooks/useQualityControls", () => {
|
|
|
41
42
|
data: { ...qualityControlData(), status: "published" },
|
|
42
43
|
loading: false,
|
|
43
44
|
})),
|
|
45
|
+
useQualityControlDelete: jest.fn(() => ({
|
|
46
|
+
trigger: jest.fn(() => Promise.resolve()),
|
|
47
|
+
data: qualityControlData(),
|
|
48
|
+
loading: false,
|
|
49
|
+
})),
|
|
44
50
|
};
|
|
45
51
|
});
|
|
46
52
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { render } from "@truedat/test/render";
|
|
3
|
-
import { waitFor } from "@testing-library/react";
|
|
4
|
-
import userEvent from "@testing-library/user-event";
|
|
5
3
|
import { messages } from "@truedat/qx/components/__tests__/__fixtures__/helper";
|
|
6
4
|
import { columns } from "../QualityControlsTable";
|
|
7
5
|
import QualityControlRow from "../QualityControlRow";
|
|
@@ -68,7 +66,7 @@ describe("<QualityControlRow />", () => {
|
|
|
68
66
|
renderOpts
|
|
69
67
|
);
|
|
70
68
|
const link = queryByText("test");
|
|
71
|
-
expect(link).toHaveAttribute("href", "/qualityControls/8");
|
|
69
|
+
expect(link).toHaveAttribute("href", "/qualityControls/8/version/1");
|
|
72
70
|
});
|
|
73
71
|
|
|
74
72
|
it("renders empty table columns are empty", () => {
|
|
@@ -14,7 +14,7 @@ import { qualityControlData } from "./__fixtures__/qualityControlHelper";
|
|
|
14
14
|
|
|
15
15
|
jest.mock("react-router-dom", () => ({
|
|
16
16
|
...jest.requireActual("react-router-dom"),
|
|
17
|
-
useParams: () => ({ id: "8" }),
|
|
17
|
+
useParams: () => ({ id: "8", version: "1" }),
|
|
18
18
|
}));
|
|
19
19
|
|
|
20
20
|
jest.mock("@truedat/qx/hooks/useScores", () => {
|
|
@@ -5,8 +5,8 @@ import QualityControlTabs from "../QualityControlTabs";
|
|
|
5
5
|
|
|
6
6
|
jest.mock("react-router-dom", () => ({
|
|
7
7
|
...jest.requireActual("react-router-dom"),
|
|
8
|
-
useParams: () => ({ id: "8" }),
|
|
9
|
-
useLocation: () => ({ pathname: "/qualityControls/8" }),
|
|
8
|
+
useParams: () => ({ id: "8", version: "1" }),
|
|
9
|
+
useLocation: () => ({ pathname: "/qualityControls/8/version/1" }),
|
|
10
10
|
}));
|
|
11
11
|
|
|
12
12
|
const renderOpts = { messages };
|
|
@@ -34,7 +34,7 @@ const searchProps = {
|
|
|
34
34
|
searchMust: "",
|
|
35
35
|
hiddenFilters: "",
|
|
36
36
|
searchData: {
|
|
37
|
-
data: [qualityControlData({ status: "published" })],
|
|
37
|
+
data: [qualityControlData({ id: 1, status: "published" })],
|
|
38
38
|
actions: { execute: true },
|
|
39
39
|
},
|
|
40
40
|
defaultFilters: { status: "published" },
|
|
@@ -85,19 +85,19 @@ describe("<QualityControls />", () => {
|
|
|
85
85
|
).toBeEnabled();
|
|
86
86
|
|
|
87
87
|
expect(
|
|
88
|
-
container.querySelector("#row-checkbox-
|
|
88
|
+
container.querySelector("#row-checkbox-1").parentElement
|
|
89
89
|
).not.toHaveClass("checked");
|
|
90
90
|
|
|
91
91
|
userEvent.click(container.querySelector("#selectQualityControl"));
|
|
92
92
|
|
|
93
93
|
expect(
|
|
94
|
-
container.querySelector("#row-checkbox-
|
|
94
|
+
container.querySelector("#row-checkbox-1").parentElement
|
|
95
95
|
).toHaveClass("checked");
|
|
96
96
|
|
|
97
|
-
userEvent.click(container.querySelector("#row-checkbox-
|
|
97
|
+
userEvent.click(container.querySelector("#row-checkbox-1"));
|
|
98
98
|
|
|
99
99
|
expect(
|
|
100
|
-
container.querySelector("#row-checkbox-
|
|
100
|
+
container.querySelector("#row-checkbox-1").parentElement
|
|
101
101
|
).not.toHaveClass("checked");
|
|
102
102
|
|
|
103
103
|
userEvent.click(container.querySelector("#execute_checkbox"));
|
|
@@ -106,7 +106,7 @@ describe("<QualityControls />", () => {
|
|
|
106
106
|
filter: "for_execution",
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
expect(container.querySelector("#row-checkbox-
|
|
109
|
+
expect(container.querySelector("#row-checkbox-1")).not.toBeInTheDocument();
|
|
110
110
|
});
|
|
111
111
|
|
|
112
112
|
it("submit execution with search", async () => {
|
|
@@ -177,7 +177,7 @@ describe("<QualityControls />", () => {
|
|
|
177
177
|
userEvent.click(container.querySelector("#selectQualityControl"));
|
|
178
178
|
|
|
179
179
|
expect(
|
|
180
|
-
container.querySelector("#row-checkbox-
|
|
180
|
+
container.querySelector("#row-checkbox-1").parentElement
|
|
181
181
|
).toHaveClass("checked");
|
|
182
182
|
|
|
183
183
|
userEvent.click(getByRole("button", { name: /Execute quality control/i }));
|
|
@@ -195,7 +195,7 @@ describe("<QualityControls />", () => {
|
|
|
195
195
|
df_type: "template1",
|
|
196
196
|
dynamic_content: {},
|
|
197
197
|
},
|
|
198
|
-
ids: [
|
|
198
|
+
ids: [1],
|
|
199
199
|
});
|
|
200
200
|
});
|
|
201
201
|
});
|
|
@@ -5,7 +5,10 @@ import SearchContext from "@truedat/core/search/SearchContext";
|
|
|
5
5
|
import QualityControlsTable from "../QualityControlsTable";
|
|
6
6
|
import { qualityControlData } from "./__fixtures__/qualityControlHelper";
|
|
7
7
|
|
|
8
|
-
const data = [
|
|
8
|
+
const data = [
|
|
9
|
+
qualityControlData(),
|
|
10
|
+
qualityControlData({ id: 9, name: "Foo", quality_control_id: 9 }),
|
|
11
|
+
];
|
|
9
12
|
|
|
10
13
|
const searchProps = {
|
|
11
14
|
sortColumn: "updated_at",
|
|
@@ -25,6 +25,7 @@ const qualityControl = {
|
|
|
25
25
|
updated_at: "2024-11-28T12:14:57.004822Z",
|
|
26
26
|
status: "draft",
|
|
27
27
|
version: 1,
|
|
28
|
+
quality_control_id: 8,
|
|
28
29
|
versions: [
|
|
29
30
|
{
|
|
30
31
|
name: "tests v1",
|
|
@@ -33,6 +34,7 @@ const qualityControl = {
|
|
|
33
34
|
updated_at: "2024-11-28T17:03:22.037798Z",
|
|
34
35
|
df_type: "template1",
|
|
35
36
|
queries: null,
|
|
37
|
+
quality_control_id: 8,
|
|
36
38
|
control_properties: {
|
|
37
39
|
resource: {
|
|
38
40
|
id: 11859650,
|
|
@@ -138,10 +140,7 @@ const qualityControl = {
|
|
|
138
140
|
},
|
|
139
141
|
},
|
|
140
142
|
version_id: 1,
|
|
141
|
-
score_criteria: {
|
|
142
|
-
goal: 20,
|
|
143
|
-
minimum: 10,
|
|
144
|
-
},
|
|
143
|
+
score_criteria: { goal: 20, minimum: 10 },
|
|
145
144
|
},
|
|
146
145
|
{
|
|
147
146
|
name: "test",
|
|
@@ -150,6 +149,7 @@ const qualityControl = {
|
|
|
150
149
|
updated_at: "2024-11-28T17:03:22.040875Z",
|
|
151
150
|
df_type: "template1",
|
|
152
151
|
queries: null,
|
|
152
|
+
quality_control_id: 8,
|
|
153
153
|
control_properties: {
|
|
154
154
|
errors_resource: {
|
|
155
155
|
id: 11859650,
|
|
@@ -164,10 +164,7 @@ const qualityControl = {
|
|
|
164
164
|
},
|
|
165
165
|
},
|
|
166
166
|
version_id: 2,
|
|
167
|
-
score_criteria: {
|
|
168
|
-
maximum: 20,
|
|
169
|
-
goal: 10,
|
|
170
|
-
},
|
|
167
|
+
score_criteria: { maximum: 20, goal: 10 },
|
|
171
168
|
},
|
|
172
169
|
],
|
|
173
170
|
domain_ids: [2],
|
|
@@ -269,9 +266,17 @@ const qualityControl = {
|
|
|
269
266
|
},
|
|
270
267
|
},
|
|
271
268
|
version_id: 13,
|
|
272
|
-
score_criteria: {
|
|
273
|
-
|
|
274
|
-
|
|
269
|
+
score_criteria: { goal: 20, minimum: 10 },
|
|
270
|
+
latest_score: {
|
|
271
|
+
executed_at: "2025-03-25T05:34:21.438113Z",
|
|
272
|
+
ratio_content: {
|
|
273
|
+
total_count: 100,
|
|
274
|
+
validation_count: 100,
|
|
275
|
+
},
|
|
276
|
+
result: 100,
|
|
277
|
+
result_message: "meets_goal",
|
|
278
|
+
status: "succeeded",
|
|
279
|
+
type: "ratio",
|
|
275
280
|
},
|
|
276
281
|
};
|
|
277
282
|
|
|
@@ -9,3 +9,35 @@ exports[`<QualityBadge /> matches the latest snapshot 1`] = `
|
|
|
9
9
|
50%
|
|
10
10
|
</div>
|
|
11
11
|
`;
|
|
12
|
+
|
|
13
|
+
exports[`<QualityBadgeForSearch /> matches the latest snapshot for deviation 1`] = `
|
|
14
|
+
<div>
|
|
15
|
+
<i
|
|
16
|
+
aria-hidden="true"
|
|
17
|
+
class="yellow circle icon"
|
|
18
|
+
/>
|
|
19
|
+
100%
|
|
20
|
+
</div>
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
exports[`<QualityBadgeForSearch /> matches the latest snapshot for error_count 1`] = `
|
|
24
|
+
<div>
|
|
25
|
+
<i
|
|
26
|
+
aria-hidden="true"
|
|
27
|
+
class="red circle icon"
|
|
28
|
+
/>
|
|
29
|
+
200
|
|
30
|
+
</div>
|
|
31
|
+
`;
|
|
32
|
+
|
|
33
|
+
exports[`<QualityBadgeForSearch /> matches the latest snapshot for percentage 1`] = `
|
|
34
|
+
<div>
|
|
35
|
+
<i
|
|
36
|
+
aria-hidden="true"
|
|
37
|
+
class="green circle icon"
|
|
38
|
+
/>
|
|
39
|
+
100%
|
|
40
|
+
</div>
|
|
41
|
+
`;
|
|
42
|
+
|
|
43
|
+
exports[`<QualityBadgeForSearch /> show no executed 1`] = `<div />`;
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlActions.spec.js.snap
CHANGED
|
@@ -34,7 +34,6 @@ exports[`<QualityControlActions /> matches the latest snapshot with actions for
|
|
|
34
34
|
>
|
|
35
35
|
<div
|
|
36
36
|
aria-checked="false"
|
|
37
|
-
aria-disabled="false"
|
|
38
37
|
aria-selected="true"
|
|
39
38
|
class="selected item"
|
|
40
39
|
role="option"
|
|
@@ -52,10 +51,9 @@ exports[`<QualityControlActions /> matches the latest snapshot with actions for
|
|
|
52
51
|
</div>
|
|
53
52
|
<a
|
|
54
53
|
aria-checked="false"
|
|
55
|
-
aria-disabled="false"
|
|
56
54
|
aria-selected="false"
|
|
57
55
|
class="item"
|
|
58
|
-
href="/qualityControls/8/new_draft"
|
|
56
|
+
href="/qualityControls/8/version/1/new_draft"
|
|
59
57
|
role="option"
|
|
60
58
|
style="pointer-events: all;"
|
|
61
59
|
>
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHeader.spec.js.snap
CHANGED
|
@@ -112,7 +112,7 @@ exports[`<QualityControlHeader /> matches the latest snapshot with control quali
|
|
|
112
112
|
aria-checked="false"
|
|
113
113
|
aria-selected="false"
|
|
114
114
|
class="item"
|
|
115
|
-
href="/qualityControls/8/new_draft"
|
|
115
|
+
href="/qualityControls/8/version/1/new_draft"
|
|
116
116
|
role="option"
|
|
117
117
|
style="pointer-events: all;"
|
|
118
118
|
>
|
|
@@ -135,6 +135,15 @@ exports[`<QualityControlHeader /> matches the latest snapshot with control quali
|
|
|
135
135
|
/>
|
|
136
136
|
Disable
|
|
137
137
|
</button>
|
|
138
|
+
<button
|
|
139
|
+
class="ui button"
|
|
140
|
+
>
|
|
141
|
+
<i
|
|
142
|
+
aria-hidden="true"
|
|
143
|
+
class="trash alternate outline icon"
|
|
144
|
+
/>
|
|
145
|
+
quality_controls.actions.delete
|
|
146
|
+
</button>
|
|
138
147
|
</div>
|
|
139
148
|
</div>
|
|
140
149
|
</div>
|
|
@@ -150,19 +159,19 @@ exports[`<QualityControlHeader /> matches the latest snapshot with control quali
|
|
|
150
159
|
>
|
|
151
160
|
<a
|
|
152
161
|
class="item"
|
|
153
|
-
href="/qualityControls/8"
|
|
162
|
+
href="/qualityControls/8/version/1"
|
|
154
163
|
>
|
|
155
164
|
Detail
|
|
156
165
|
</a>
|
|
157
166
|
<a
|
|
158
167
|
class="item"
|
|
159
|
-
href="/qualityControls/8/history"
|
|
168
|
+
href="/qualityControls/8/version/1/history"
|
|
160
169
|
>
|
|
161
170
|
History
|
|
162
171
|
</a>
|
|
163
172
|
<a
|
|
164
173
|
class="item"
|
|
165
|
-
href="/qualityControls/8/scores"
|
|
174
|
+
href="/qualityControls/8/version/1/scores"
|
|
166
175
|
>
|
|
167
176
|
Scores
|
|
168
177
|
</a>
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHistory.spec.js.snap
CHANGED
|
@@ -37,7 +37,11 @@ exports[`<QualityControlsHistory /> matches the latest snapshot 1`] = `
|
|
|
37
37
|
<td
|
|
38
38
|
class=""
|
|
39
39
|
>
|
|
40
|
-
|
|
40
|
+
<a
|
|
41
|
+
href="/qualityControls/8/version/1"
|
|
42
|
+
>
|
|
43
|
+
tests v1
|
|
44
|
+
</a>
|
|
41
45
|
</td>
|
|
42
46
|
<td
|
|
43
47
|
class=""
|
|
@@ -56,7 +60,11 @@ exports[`<QualityControlsHistory /> matches the latest snapshot 1`] = `
|
|
|
56
60
|
<td
|
|
57
61
|
class=""
|
|
58
62
|
>
|
|
59
|
-
|
|
63
|
+
<a
|
|
64
|
+
href="/qualityControls/8/version/2"
|
|
65
|
+
>
|
|
66
|
+
test
|
|
67
|
+
</a>
|
|
60
68
|
</td>
|
|
61
69
|
<td
|
|
62
70
|
class=""
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlRow.spec.js.snap
CHANGED
|
@@ -11,7 +11,7 @@ exports[`<QualityControlRow /> matches the latest snapshot 1`] = `
|
|
|
11
11
|
class=""
|
|
12
12
|
>
|
|
13
13
|
<a
|
|
14
|
-
href="/qualityControls/8"
|
|
14
|
+
href="/qualityControls/8/version/1"
|
|
15
15
|
>
|
|
16
16
|
test
|
|
17
17
|
</a>
|
|
@@ -31,6 +31,15 @@ exports[`<QualityControlRow /> matches the latest snapshot 1`] = `
|
|
|
31
31
|
>
|
|
32
32
|
Draft
|
|
33
33
|
</td>
|
|
34
|
+
<td
|
|
35
|
+
class=""
|
|
36
|
+
>
|
|
37
|
+
<i
|
|
38
|
+
aria-hidden="true"
|
|
39
|
+
class="green circle icon"
|
|
40
|
+
/>
|
|
41
|
+
100%
|
|
42
|
+
</td>
|
|
34
43
|
<td
|
|
35
44
|
class="center aligned"
|
|
36
45
|
>
|
|
@@ -77,7 +86,7 @@ exports[`<QualityControlRow /> withCheck set to true 1`] = `
|
|
|
77
86
|
class=""
|
|
78
87
|
>
|
|
79
88
|
<a
|
|
80
|
-
href="/qualityControls/8"
|
|
89
|
+
href="/qualityControls/8/version/1"
|
|
81
90
|
>
|
|
82
91
|
test
|
|
83
92
|
</a>
|
|
@@ -97,6 +106,15 @@ exports[`<QualityControlRow /> withCheck set to true 1`] = `
|
|
|
97
106
|
>
|
|
98
107
|
Draft
|
|
99
108
|
</td>
|
|
109
|
+
<td
|
|
110
|
+
class=""
|
|
111
|
+
>
|
|
112
|
+
<i
|
|
113
|
+
aria-hidden="true"
|
|
114
|
+
class="green circle icon"
|
|
115
|
+
/>
|
|
116
|
+
100%
|
|
117
|
+
</td>
|
|
100
118
|
<td
|
|
101
119
|
class="center aligned"
|
|
102
120
|
>
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlScores.spec.js.snap
CHANGED
|
@@ -52,7 +52,7 @@ exports[`<QualityControlScores /> matches the latest snapshot 1`] = `
|
|
|
52
52
|
>
|
|
53
53
|
<a
|
|
54
54
|
class="ui active ribbon label"
|
|
55
|
-
href="/qualityControls/8/history"
|
|
55
|
+
href="/qualityControls/8/version/1/history"
|
|
56
56
|
>
|
|
57
57
|
Version: 1
|
|
58
58
|
</a>
|
|
@@ -96,7 +96,7 @@ exports[`<QualityControlScores /> matches the latest snapshot 1`] = `
|
|
|
96
96
|
<td
|
|
97
97
|
class=""
|
|
98
98
|
>
|
|
99
|
-
|
|
99
|
+
Published
|
|
100
100
|
</td>
|
|
101
101
|
<td
|
|
102
102
|
class=""
|
|
@@ -149,7 +149,7 @@ exports[`<QualityControlScores /> matches the latest snapshot 1`] = `
|
|
|
149
149
|
<td
|
|
150
150
|
class=""
|
|
151
151
|
>
|
|
152
|
-
|
|
152
|
+
Published
|
|
153
153
|
</td>
|
|
154
154
|
<td
|
|
155
155
|
class=""
|
package/src/components/qualityControls/__tests__/__snapshots__/QualityControlTabs.spec.js.snap
CHANGED
|
@@ -7,19 +7,19 @@ exports[`<QualityControlTabs /> matches the latest snapshot 1`] = `
|
|
|
7
7
|
>
|
|
8
8
|
<a
|
|
9
9
|
class="active item"
|
|
10
|
-
href="/qualityControls/8"
|
|
10
|
+
href="/qualityControls/8/version/1"
|
|
11
11
|
>
|
|
12
12
|
Detail
|
|
13
13
|
</a>
|
|
14
14
|
<a
|
|
15
15
|
class="item"
|
|
16
|
-
href="/qualityControls/8/history"
|
|
16
|
+
href="/qualityControls/8/version/1/history"
|
|
17
17
|
>
|
|
18
18
|
History
|
|
19
19
|
</a>
|
|
20
20
|
<a
|
|
21
21
|
class="item"
|
|
22
|
-
href="/qualityControls/8/scores"
|
|
22
|
+
href="/qualityControls/8/version/1/scores"
|
|
23
23
|
>
|
|
24
24
|
Scores
|
|
25
25
|
</a>
|