Skip to content

Commit f7b1db8

Browse files
committed
fix: update test result structure to use insights instead of extra
1 parent d4a639c commit f7b1db8

File tree

2 files changed

+218
-74
lines changed

2 files changed

+218
-74
lines changed

__tests__/helpers/ctrf.test.ts

Lines changed: 148 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,33 @@ describe("CTRF Helpers", () => {
2222
status: "passed",
2323
duration: 1000,
2424
flaky: false,
25-
extra: {
26-
flakyRate: 0.0,
27-
failRate: 0.1,
25+
insights: {
26+
flakyRate: {
27+
current: 0.0,
28+
previous: 0.0,
29+
change: 0.0,
30+
},
31+
failRate: {
32+
current: 0.1,
33+
previous: 0.1,
34+
change: 0.0,
35+
},
36+
skippedRate: {
37+
current: 0.0,
38+
previous: 0.0,
39+
change: 0.0,
40+
},
41+
averageTestDuration: {
42+
current: 1000,
43+
previous: 1000,
44+
change: 0,
45+
},
46+
p95Duration: {
47+
current: 1200,
48+
previous: 1200,
49+
change: 0,
50+
},
51+
appearsInRuns: 10,
2852
},
2953
},
3054
{
@@ -33,19 +57,67 @@ describe("CTRF Helpers", () => {
3357
duration: 2000,
3458
message: "Test failed due to timeout",
3559
flaky: true,
36-
extra: {
37-
flakyRate: 0.8,
38-
failRate: 0.9,
60+
insights: {
61+
flakyRate: {
62+
current: 0.8,
63+
previous: 0.7,
64+
change: 0.1,
65+
},
66+
failRate: {
67+
current: 0.9,
68+
previous: 0.8,
69+
change: 0.1,
70+
},
71+
skippedRate: {
72+
current: 0.0,
73+
previous: 0.0,
74+
change: 0.0,
75+
},
76+
averageTestDuration: {
77+
current: 2000,
78+
previous: 1800,
79+
change: 200,
80+
},
81+
p95Duration: {
82+
current: 2500,
83+
previous: 2300,
84+
change: 200,
85+
},
86+
appearsInRuns: 10,
3987
},
4088
},
4189
{
4290
name: "Skipped Test 1",
4391
status: "skipped",
4492
duration: 0,
4593
flaky: false,
46-
extra: {
47-
flakyRate: 0.0,
48-
failRate: 0.0,
94+
insights: {
95+
flakyRate: {
96+
current: 0.0,
97+
previous: 0.0,
98+
change: 0.0,
99+
},
100+
failRate: {
101+
current: 0.0,
102+
previous: 0.0,
103+
change: 0.0,
104+
},
105+
skippedRate: {
106+
current: 1.0,
107+
previous: 1.0,
108+
change: 0.0,
109+
},
110+
averageTestDuration: {
111+
current: 0,
112+
previous: 0,
113+
change: 0,
114+
},
115+
p95Duration: {
116+
current: 0,
117+
previous: 0,
118+
change: 0,
119+
},
120+
appearsInRuns: 5,
49121
},
50122
},
51123
{
@@ -60,19 +132,67 @@ describe("CTRF Helpers", () => {
60132
duration: 1500,
61133
message: "Assertion error",
62134
flaky: true,
63-
extra: {
64-
flakyRate: 0.6,
65-
failRate: 0.7,
135+
insights: {
136+
flakyRate: {
137+
current: 0.6,
138+
previous: 0.5,
139+
change: 0.1,
140+
},
141+
failRate: {
142+
current: 0.7,
143+
previous: 0.6,
144+
change: 0.1,
145+
},
146+
skippedRate: {
147+
current: 0.0,
148+
previous: 0.0,
149+
change: 0.0,
150+
},
151+
averageTestDuration: {
152+
current: 1500,
153+
previous: 1400,
154+
change: 100,
155+
},
156+
p95Duration: {
157+
current: 1800,
158+
previous: 1700,
159+
change: 100,
160+
},
161+
appearsInRuns: 8,
66162
},
67163
},
68164
{
69165
name: "Passing Test 2",
70166
status: "passed",
71167
duration: 800,
72168
flaky: false,
73-
extra: {
74-
flakyRate: 0.1,
75-
failRate: 0.2,
169+
insights: {
170+
flakyRate: {
171+
current: 0.1,
172+
previous: 0.1,
173+
change: 0.0,
174+
},
175+
failRate: {
176+
current: 0.2,
177+
previous: 0.2,
178+
change: 0.0,
179+
},
180+
skippedRate: {
181+
current: 0.0,
182+
previous: 0.0,
183+
change: 0.0,
184+
},
185+
averageTestDuration: {
186+
current: 800,
187+
previous: 800,
188+
change: 0,
189+
},
190+
p95Duration: {
191+
current: 900,
192+
previous: 900,
193+
change: 0,
194+
},
195+
appearsInRuns: 10,
76196
},
77197
},
78198
];
@@ -84,11 +204,11 @@ describe("CTRF Helpers", () => {
84204
if (Array.isArray(result)) {
85205
expect(result).toHaveLength(3); // Tests with flakyRate > 0 (includes 0.1)
86206
expect(result[0].name).toBe("Failing Test 1");
87-
expect(result[0].extra?.flakyRate).toBe(0.8);
207+
expect(result[0].insights?.flakyRate.current).toBe(0.8);
88208
expect(result[1].name).toBe("Failing Test 2");
89-
expect(result[1].extra?.flakyRate).toBe(0.6);
209+
expect(result[1].insights?.flakyRate.current).toBe(0.6);
90210
expect(result[2].name).toBe("Passing Test 2");
91-
expect(result[2].extra?.flakyRate).toBe(0.1);
211+
expect(result[2].insights?.flakyRate.current).toBe(0.1);
92212
}
93213
});
94214

@@ -116,9 +236,9 @@ describe("CTRF Helpers", () => {
116236
expect(
117237
result.every(
118238
(test: Test) =>
119-
test.extra?.flakyRate &&
120-
typeof test.extra.flakyRate === "number" &&
121-
test.extra.flakyRate > 0,
239+
test.insights?.flakyRate.current &&
240+
typeof test.insights.flakyRate.current === "number" &&
241+
test.insights.flakyRate.current > 0,
122242
),
123243
).toBe(true);
124244
}
@@ -392,10 +512,10 @@ describe("CTRF Helpers", () => {
392512

393513
if (Array.isArray(result)) {
394514
expect(result).toHaveLength(4); // Tests with failRate > 0 (includes 0.1 and 0.2)
395-
expect(result[0].extra?.failRate).toBe(0.9);
396-
expect(result[1].extra?.failRate).toBe(0.7);
397-
expect(result[2].extra?.failRate).toBe(0.2);
398-
expect(result[3].extra?.failRate).toBe(0.1);
515+
expect(result[0].insights?.failRate.current).toBe(0.9);
516+
expect(result[1].insights?.failRate.current).toBe(0.7);
517+
expect(result[2].insights?.failRate.current).toBe(0.2);
518+
expect(result[3].insights?.failRate.current).toBe(0.1);
399519
}
400520
});
401521

@@ -414,9 +534,9 @@ describe("CTRF Helpers", () => {
414534
expect(
415535
result.every(
416536
(test: Test) =>
417-
test.extra?.failRate &&
418-
typeof test.extra.failRate === "number" &&
419-
test.extra.failRate > 0,
537+
test.insights?.failRate.current &&
538+
typeof test.insights.failRate.current === "number" &&
539+
test.insights.failRate.current > 0,
420540
),
421541
).toBe(true);
422542
}

0 commit comments

Comments
 (0)