Skip to content

Commit 290f28b

Browse files
committed
Add support for child error message
1 parent 647a5c8 commit 290f28b

File tree

7 files changed

+69
-24
lines changed

7 files changed

+69
-24
lines changed

.vscode/tasks.json

-21
This file was deleted.

dist/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -127497,7 +127497,9 @@ const writeSummary = async (path, screenshots) => {
127497127497
testSuitesElements
127498127498
.filter((element) => element.name === "testcase")
127499127499
.forEach((testSuite) => {
127500-
const errorMessage = testSuite.elements?.find((element) => element.name === "failure")?.attributes?.message;
127500+
let errorMessage = testSuite.elements?.find((element) => element.name === "failure")
127501+
?.attributes?.message || "";
127502+
errorMessage += testSuite.elements?.find((element) => element.name === "failure");
127501127503
let status;
127502127504
if (!testSuite.elements) {
127503127505
status = "success";

src/tests/__snapshots__/writeSummary.test.ts.snap

+40
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,45 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3+
exports[`writeSummary should write the summary correctly, failing variation 1, no screenshots 1`] = `
4+
Summary {
5+
"_buffer": "<h1>Test results</h1>
6+
<h2>Summary</h2>
7+
<table><tr><td><strong>Overall result</strong></td><td>❌</td></tr><tr><td><strong>Total fails</strong></td><td>1</td></tr><tr><td><strong>Total skipped</strong></td><td>0</td></tr><tr><td><strong>Total tests</strong></td><td>4</td></tr></table>
8+
<h2>Failing tests</h2>
9+
<table><tr><td><h3 id='lottery results-lottery results'><a href="#lottery results-lottery results">🔗</a> <code>Lottery results - Lottery results</code></h3></td></tr><tr><td><code>Assertion is false: "Hver tirsdag og fredag!" is visible</code></td></tr></table>
10+
<h2>Hjem</h2>
11+
<h3>Profil Name</h3>
12+
<table><tr><th>Test name</th><th>Time elapsed</th><th>Result</th></tr><tr><td>Profil Name</td><td>11.0 s</td><td>✅</td></tr></table>
13+
<h3>Nabolaget - Address is shown</h3>
14+
<table><tr><th>Test name</th><th>Time elapsed</th><th>Result</th></tr><tr><td>Nabolaget - Address is shown</td><td>14.0 s</td><td>✅</td></tr></table>
15+
<h3>Lottery results</h3>
16+
<table><tr><th>Test name</th><th>Time elapsed</th><th>Result</th></tr><tr><td><a href="#lottery results-lottery results">Lottery results</a></td><td>70.0 s</td><td>❌</td></tr></table>
17+
<h3>Eurojackpot - Andelsbank feature toggle</h3>
18+
<table><tr><th>Test name</th><th>Time elapsed</th><th>Result</th></tr><tr><td>Eurojackpot - Andelsbank feature toggle</td><td>18.0 s</td><td>✅</td></tr></table>
19+
",
20+
"write": [MockFunction] {
21+
"calls": [
22+
[
23+
{
24+
"overwrite": true,
25+
},
26+
],
27+
[],
28+
],
29+
"results": [
30+
{
31+
"type": "return",
32+
"value": Promise {},
33+
},
34+
{
35+
"type": "return",
36+
"value": Promise {},
37+
},
38+
],
39+
},
40+
}
41+
`;
42+
343
exports[`writeSummary should write the summary correctly, failure, no screenshots 1`] = `
444
Summary {
545
"_buffer": "<h1>Test results</h1>
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<testsuites>
3+
<testsuite name="Hjem" device="emulator-5554" tests="4" failures="1" time="113">
4+
<testcase id="Profil Name" name="Profil Name" classname="Profil Name" time="11"/>
5+
<testcase id="Nabolaget - Address is shown" name="Nabolaget - Address is shown" classname="Nabolaget - Address is shown" time="14"/>
6+
<testcase id="Lottery results" name="Lottery results" classname="Lottery results" time="70">
7+
<failure>Assertion is false: "Hver tirsdag og fredag!" is visible</failure>
8+
</testcase>
9+
<testcase id="Eurojackpot - Andelsbank feature toggle" name="Eurojackpot - Andelsbank feature toggle" classname="Eurojackpot - Andelsbank feature toggle" time="18"/>
10+
</testsuite>
11+
</testsuites>

src/tests/writeSummary.test.ts

+5
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,9 @@ describe("writeSummary", () => {
4646
await writeSummary("src/tests/exampleFiles/success.xml", []);
4747
expect(core.summary).toMatchSnapshot();
4848
});
49+
50+
it("should write the summary correctly, failing variation 1, no screenshots", async () => {
51+
await writeSummary("src/tests/exampleFiles/fail-variation1.xml", []);
52+
expect(core.summary).toMatchSnapshot();
53+
});
4954
});

src/types/xmlElements.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ interface TestSuiteElement {
77
name: string;
88
elements?: TestSuiteElement[];
99
attributes?: TestSuiteAttributes;
10+
text?: string;
1011
}
1112

1213
interface TestSuiteAttributes {

src/utils/writeSummary.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,16 @@ const writeSummary = async (
2424
testSuitesElements
2525
.filter((element) => element.name === "testcase")
2626
.forEach((testSuite) => {
27-
const errorMessage = testSuite.elements?.find(
27+
const failureElements = testSuite.elements?.find(
2828
(element) => element.name === "failure"
29-
)?.attributes?.message;
29+
);
30+
let errorMessage =
31+
failureElements?.attributes?.message ||
32+
"" +
33+
testSuite.elements
34+
?.find((element) => element.name === "failure")
35+
?.elements?.map((element) => element.text) ||
36+
"";
3037

3138
let status;
3239

0 commit comments

Comments
 (0)