@bigbinary/neeto-playwright-reporter 1.3.19 → 1.3.21
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/index.cjs.js +29 -13
- package/index.cjs.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +29 -13
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.cjs.js
CHANGED
|
@@ -18504,7 +18504,7 @@ const MESSAGES = {
|
|
|
18504
18504
|
startingTest: (titlePath) => `Starting ${titlePath}`,
|
|
18505
18505
|
},
|
|
18506
18506
|
onTestEnd: {
|
|
18507
|
-
reportedTest: (title) => `Reported ${title} to NeetoPlaydash`,
|
|
18507
|
+
reportedTest: ({ title, status, id }) => `Reported ${title} with id: ${id} to NeetoPlaydash with status ${status}`,
|
|
18508
18508
|
},
|
|
18509
18509
|
onEnd: {
|
|
18510
18510
|
runReported: "Run completed and reported to NeetoPlaydash 🎉",
|
|
@@ -18624,6 +18624,13 @@ const sendHeartBeatSignal = async (ciBuildId) => {
|
|
|
18624
18624
|
}
|
|
18625
18625
|
};
|
|
18626
18626
|
|
|
18627
|
+
const evaluateStatus = (outcome, status) => {
|
|
18628
|
+
if (outcome === "flaky")
|
|
18629
|
+
return outcome;
|
|
18630
|
+
else
|
|
18631
|
+
return status;
|
|
18632
|
+
};
|
|
18633
|
+
|
|
18627
18634
|
const setAuthHeaders = ({ projectKey, apiKey, }) => {
|
|
18628
18635
|
axios.defaults.headers = {
|
|
18629
18636
|
...axios.defaults.headers,
|
|
@@ -18691,21 +18698,21 @@ class MyReporter {
|
|
|
18691
18698
|
this.heartbeatInterval = setInterval(async () => await sendHeartBeatSignal(this.ciBuildId), 45000);
|
|
18692
18699
|
this.attempts = attempts;
|
|
18693
18700
|
};
|
|
18694
|
-
this.onTestBegin = async ({ id, title }, { retry }) => {
|
|
18701
|
+
this.onTestBegin = async ({ id, title, repeatEachIndex }, { retry }) => {
|
|
18695
18702
|
var _a, _b;
|
|
18696
18703
|
this.retryAttemptStartedAt = new Date();
|
|
18697
18704
|
this.unreportedAttemptCount++;
|
|
18698
18705
|
consoleLogFormatted.invertBackground(MESSAGES.onTestBegin.startingTest(title));
|
|
18699
18706
|
try {
|
|
18700
|
-
while (!((_b = (_a = this.attempts) === null || _a === void 0 ? void 0 : _a[id]) === null || _b === void 0 ? void 0 : _b["0"]))
|
|
18707
|
+
while (!((_b = (_a = this.attempts) === null || _a === void 0 ? void 0 : _a[id]) === null || _b === void 0 ? void 0 : _b["0-0"]))
|
|
18701
18708
|
await waitUntilTimeout(100); // Poll every 100 milliseconds
|
|
18702
18709
|
const attemptsPayload = {
|
|
18703
18710
|
status: "running",
|
|
18704
18711
|
started_at: this.retryAttemptStartedAt.toString(),
|
|
18705
18712
|
shard: this.currentShard,
|
|
18706
18713
|
};
|
|
18707
|
-
if (retry === 0) {
|
|
18708
|
-
await attemptsApi.update(this.ciBuildId, id, this.attempts[id]["0"], attemptsPayload);
|
|
18714
|
+
if (retry === 0 && repeatEachIndex === 0) {
|
|
18715
|
+
await attemptsApi.update(this.ciBuildId, id, this.attempts[id]["0-0"], attemptsPayload);
|
|
18709
18716
|
}
|
|
18710
18717
|
else {
|
|
18711
18718
|
const { data: { history_id, attempt_id }, } = await attemptsApi.create(this.ciBuildId, id, attemptsPayload);
|
|
@@ -18713,7 +18720,7 @@ class MyReporter {
|
|
|
18713
18720
|
...this.attempts,
|
|
18714
18721
|
[history_id]: {
|
|
18715
18722
|
...this.attempts[history_id],
|
|
18716
|
-
[
|
|
18723
|
+
[`${retry}-${repeatEachIndex}`]: attempt_id,
|
|
18717
18724
|
},
|
|
18718
18725
|
};
|
|
18719
18726
|
this.testAttemptIds.push(`${history_id}-${attempt_id}`);
|
|
@@ -18726,13 +18733,20 @@ class MyReporter {
|
|
|
18726
18733
|
}
|
|
18727
18734
|
};
|
|
18728
18735
|
this.onTestEnd = async (testCase, { status, duration, errors, error, retry, attachments }) => {
|
|
18736
|
+
var _a;
|
|
18729
18737
|
const completedAt = new Date();
|
|
18730
18738
|
const errorLocation = error === null || error === void 0 ? void 0 : error.location;
|
|
18731
|
-
const { id, title,
|
|
18739
|
+
const { id, title, repeatEachIndex } = testCase;
|
|
18740
|
+
const testOutcome = testCase.outcome();
|
|
18741
|
+
const outcome = {
|
|
18742
|
+
shard: (_a = this.currentShard) !== null && _a !== void 0 ? _a : 0,
|
|
18743
|
+
is_expected: testOutcome === "expected",
|
|
18744
|
+
repeat_each_index: repeatEachIndex,
|
|
18745
|
+
status: evaluateStatus(testOutcome, status),
|
|
18746
|
+
};
|
|
18732
18747
|
try {
|
|
18733
18748
|
const testResult = {
|
|
18734
|
-
outcome
|
|
18735
|
-
expected_status: expectedStatus,
|
|
18749
|
+
outcome,
|
|
18736
18750
|
status,
|
|
18737
18751
|
duration,
|
|
18738
18752
|
log: errors.map(error => { var _a; return (_a = error.message) !== null && _a !== void 0 ? _a : ""; }).join("\n"),
|
|
@@ -18759,10 +18773,13 @@ class MyReporter {
|
|
|
18759
18773
|
return uploadToS3(file, direct_upload);
|
|
18760
18774
|
}
|
|
18761
18775
|
}));
|
|
18762
|
-
while (!(this.attempts[id][retry] ||
|
|
18763
|
-
this.testAttemptIds.includes(`${id}-${this.attempts[id][retry]}`)))
|
|
18776
|
+
while (!(this.attempts[id][`${retry}-${repeatEachIndex}`] ||
|
|
18777
|
+
this.testAttemptIds.includes(`${id}-${this.attempts[id][`${retry}-${repeatEachIndex}`]}`)))
|
|
18764
18778
|
await waitUntilTimeout(100);
|
|
18765
|
-
|
|
18779
|
+
const reportToNeetoPlaydash = attemptsApi.update(this.ciBuildId, id, this.attempts[id][`${retry}-${repeatEachIndex}`], testResult);
|
|
18780
|
+
this.testResultCalls.push(reportToNeetoPlaydash);
|
|
18781
|
+
await reportToNeetoPlaydash;
|
|
18782
|
+
consoleLogFormatted.invertBackground(MESSAGES.onTestEnd.reportedTest({ title, status, id }));
|
|
18766
18783
|
}
|
|
18767
18784
|
catch (error) {
|
|
18768
18785
|
consoleLogFormatted.error(error.message);
|
|
@@ -18771,7 +18788,6 @@ class MyReporter {
|
|
|
18771
18788
|
}
|
|
18772
18789
|
finally {
|
|
18773
18790
|
this.unreportedAttemptCount--;
|
|
18774
|
-
consoleLogFormatted.invertBackground(MESSAGES.onTestEnd.reportedTest(title));
|
|
18775
18791
|
}
|
|
18776
18792
|
};
|
|
18777
18793
|
this.onEnd = async ({ status, duration }) => {
|