From b96bed2d8afe29e31f646aba29d574282dbaf270 Mon Sep 17 00:00:00 2001 From: Connor Vidlock Date: Tue, 30 Jan 2024 10:01:50 -0600 Subject: [PATCH] Add unit tests to better test changes to output in the future --- .../__outputs__/playwright-output-all.md | 97 + .../__outputs__/playwright-output-failed.md | 38 + .../playwright-output-no-skipped.md | 77 + .../__outputs__/playwright-output-summary.md | 4 + __tests__/__outputs__/playwright-output.md | 97 + .../__snapshots__/java-junit.test.ts.snap | 2520 +++++++++++++++++ .../external/java/playwright-report.xml | 472 +++ __tests__/java-junit.test.ts | 115 +- src/report/get-report.ts | 7 +- 9 files changed, 3420 insertions(+), 7 deletions(-) create mode 100644 __tests__/__outputs__/playwright-output-all.md create mode 100644 __tests__/__outputs__/playwright-output-failed.md create mode 100644 __tests__/__outputs__/playwright-output-no-skipped.md create mode 100644 __tests__/__outputs__/playwright-output-summary.md create mode 100644 __tests__/__outputs__/playwright-output.md create mode 100644 __tests__/fixtures/external/java/playwright-report.xml diff --git a/__tests__/__outputs__/playwright-output-all.md b/__tests__/__outputs__/playwright-output-all.md new file mode 100644 index 0000000..8b67a06 --- /dev/null +++ b/__tests__/__outputs__/playwright-output-all.md @@ -0,0 +1,97 @@ +![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical) +## ❌ fixtures/external/java/playwright-report.xml +**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[auth.setup.ts](#r0s0)|6✅|||7s| +|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms| +|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms| +|[tests/app.spec.ts](#r0s3)|||1⚪|0ms| +|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s| +|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms| +|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s| +### ✅ auth.setup.ts +``` +✅ authenticate as classic admin +✅ authenticate as basketball admin +✅ authenticate as wrestling admin +✅ authenticate as onboarding admin 1 +✅ authenticate as onboarding admin 3 +✅ authenticate as coachAdmin +``` +### ✅ tests/analyze/load-video.spec.ts +``` +⚪ record "Time to Video" when loading directly via URL › using manual timings +⚪ record "Time to Video" when loading directly via URL › using Performance API mark +⚪ record "Time to Video" when loading directly via URL › using Performance API measurement +``` +### ✅ tests/analyze/seamless-video-playback.spec.ts +``` +⚪ during looping playback › when clip repeats, it starts at the beginning +⚪ during sequential playback ("Play All Clips" mode) › when one clip plays through to the next, overlapping video is skipped +⚪ in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module +⚪ in 'Play All Clips' mode, clip plays from beginning › with next clip button +⚪ in 'Play All Clips' mode, clip plays from beginning › with previous clip button +⚪ in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module +⚪ in 'Loop Clips' mode, clip plays from beginning › with next clip button +⚪ in 'Loop Clips' mode, clip plays from beginning › with previous clip button +⚪ rewind functions normally +``` +### ✅ tests/app.spec.ts +``` +⚪ App › logs in and loads page +``` +### ❌ tests/grid.spec.ts +``` +✅ Grid › Mobile Web › Athlete › should not be able to edit data +✅ Grid › Mobile Web › Admin or Coach › should be able to edit data +✅ Grid › Field Sets › should update displayed grid columns after editing +⚪ Grid › Field Sets › should update displayed clip preview fields after editing +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds +✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period +✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts +❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order +⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column +⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach +❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list +✅ Grid › Data Entry › should display error state for input with invalid data +✅ Grid › Data Entry › confirm auto-fill works correctly +✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist +✅ Grid › Tagged data › Wrestling › should edit cells using the team roster +✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data +``` +### ✅ tests/onboarding.spec.ts +``` +⚪ Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt +``` +### ✅ tests/statsEngine.spec.ts +``` +✅ Mock stats engine for speed › Filter by Offense in Phase card +✅ Mock stats engine for speed › Filter by defense in phase card +✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context +``` \ No newline at end of file diff --git a/__tests__/__outputs__/playwright-output-failed.md b/__tests__/__outputs__/playwright-output-failed.md new file mode 100644 index 0000000..74b5148 --- /dev/null +++ b/__tests__/__outputs__/playwright-output-failed.md @@ -0,0 +1,38 @@ +![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical) +## ❌ fixtures/external/java/playwright-report.xml +**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[tests/grid.spec.ts](#r0s0)|18✅|4❌|3⚪|116s| +### ❌ tests/grid.spec.ts +``` +✅ Grid › Mobile Web › Athlete › should not be able to edit data +✅ Grid › Mobile Web › Admin or Coach › should be able to edit data +✅ Grid › Field Sets › should update displayed grid columns after editing +⚪ Grid › Field Sets › should update displayed clip preview fields after editing +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds +✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period +✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts +❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order +⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column +⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach +❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list +✅ Grid › Data Entry › should display error state for input with invalid data +✅ Grid › Data Entry › confirm auto-fill works correctly +✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist +✅ Grid › Tagged data › Wrestling › should edit cells using the team roster +✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data +``` \ No newline at end of file diff --git a/__tests__/__outputs__/playwright-output-no-skipped.md b/__tests__/__outputs__/playwright-output-no-skipped.md new file mode 100644 index 0000000..9190c86 --- /dev/null +++ b/__tests__/__outputs__/playwright-output-no-skipped.md @@ -0,0 +1,77 @@ +![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical) +## ❌ fixtures/external/java/playwright-report.xml +**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[auth.setup.ts](#r0s0)|6✅|||7s| +|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms| +|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms| +|[tests/app.spec.ts](#r0s3)|||1⚪|0ms| +|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s| +|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms| +|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s| +### ✅ auth.setup.ts +``` +✅ authenticate as classic admin +✅ authenticate as basketball admin +✅ authenticate as wrestling admin +✅ authenticate as onboarding admin 1 +✅ authenticate as onboarding admin 3 +✅ authenticate as coachAdmin +``` +### ✅ tests/analyze/load-video.spec.ts +``` +``` +### ✅ tests/analyze/seamless-video-playback.spec.ts +``` +``` +### ✅ tests/app.spec.ts +``` +``` +### ❌ tests/grid.spec.ts +``` +✅ Grid › Mobile Web › Athlete › should not be able to edit data +✅ Grid › Mobile Web › Admin or Coach › should be able to edit data +✅ Grid › Field Sets › should update displayed grid columns after editing +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds +✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period +✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts +❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order +❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list +✅ Grid › Data Entry › should display error state for input with invalid data +✅ Grid › Data Entry › confirm auto-fill works correctly +✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist +✅ Grid › Tagged data › Wrestling › should edit cells using the team roster +✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data +``` +### ✅ tests/onboarding.spec.ts +``` +``` +### ✅ tests/statsEngine.spec.ts +``` +✅ Mock stats engine for speed › Filter by Offense in Phase card +✅ Mock stats engine for speed › Filter by defense in phase card +✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context +``` \ No newline at end of file diff --git a/__tests__/__outputs__/playwright-output-summary.md b/__tests__/__outputs__/playwright-output-summary.md new file mode 100644 index 0000000..a1e9d4d --- /dev/null +++ b/__tests__/__outputs__/playwright-output-summary.md @@ -0,0 +1,4 @@ +![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical) +|Report|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[fixtures/external/java/playwright-report.xml](#r0)|36✅|4❌|20⚪|59s| \ No newline at end of file diff --git a/__tests__/__outputs__/playwright-output.md b/__tests__/__outputs__/playwright-output.md new file mode 100644 index 0000000..8b67a06 --- /dev/null +++ b/__tests__/__outputs__/playwright-output.md @@ -0,0 +1,97 @@ +![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical) +## ❌ fixtures/external/java/playwright-report.xml +**60** tests were completed in **59s** with **36** passed, **4** failed and **20** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[auth.setup.ts](#r0s0)|6✅|||7s| +|[tests/analyze/load-video.spec.ts](#r0s1)|||3⚪|0ms| +|[tests/analyze/seamless-video-playback.spec.ts](#r0s2)|||9⚪|12ms| +|[tests/app.spec.ts](#r0s3)|||1⚪|0ms| +|[tests/grid.spec.ts](#r0s4)|18✅|4❌|3⚪|116s| +|[tests/onboarding.spec.ts](#r0s5)|||4⚪|0ms| +|[tests/statsEngine.spec.ts](#r0s6)|12✅|||36s| +### ✅ auth.setup.ts +``` +✅ authenticate as classic admin +✅ authenticate as basketball admin +✅ authenticate as wrestling admin +✅ authenticate as onboarding admin 1 +✅ authenticate as onboarding admin 3 +✅ authenticate as coachAdmin +``` +### ✅ tests/analyze/load-video.spec.ts +``` +⚪ record "Time to Video" when loading directly via URL › using manual timings +⚪ record "Time to Video" when loading directly via URL › using Performance API mark +⚪ record "Time to Video" when loading directly via URL › using Performance API measurement +``` +### ✅ tests/analyze/seamless-video-playback.spec.ts +``` +⚪ during looping playback › when clip repeats, it starts at the beginning +⚪ during sequential playback ("Play All Clips" mode) › when one clip plays through to the next, overlapping video is skipped +⚪ in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module +⚪ in 'Play All Clips' mode, clip plays from beginning › with next clip button +⚪ in 'Play All Clips' mode, clip plays from beginning › with previous clip button +⚪ in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module +⚪ in 'Loop Clips' mode, clip plays from beginning › with next clip button +⚪ in 'Loop Clips' mode, clip plays from beginning › with previous clip button +⚪ rewind functions normally +``` +### ✅ tests/app.spec.ts +``` +⚪ App › logs in and loads page +``` +### ❌ tests/grid.spec.ts +``` +✅ Grid › Mobile Web › Athlete › should not be able to edit data +✅ Grid › Mobile Web › Admin or Coach › should be able to edit data +✅ Grid › Field Sets › should update displayed grid columns after editing +⚪ Grid › Field Sets › should update displayed clip preview fields after editing +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds +✅ Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period +✅ Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers +✅ Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts +❌ Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order +⚪ Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column +⚪ Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach +❌ Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 +❌ Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list +✅ Grid › Data Entry › should display error state for input with invalid data +✅ Grid › Data Entry › confirm auto-fill works correctly +✅ Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Period tagged from Assist +✅ Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist +✅ Grid › Tagged data › Wrestling › should edit cells using the team roster +✅ Grid › Tagged data › Wrestling › should change key moment type and update grid data +``` +### ✅ tests/onboarding.spec.ts +``` +⚪ Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt +⚪ Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt +``` +### ✅ tests/statsEngine.spec.ts +``` +✅ Mock stats engine for speed › Filter by Offense in Phase card +✅ Mock stats engine for speed › Filter by defense in phase card +✅ Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context +✅ Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context +``` \ No newline at end of file diff --git a/__tests__/__snapshots__/java-junit.test.ts.snap b/__tests__/__snapshots__/java-junit.test.ts.snap index 73c5f80..91c6a69 100644 --- a/__tests__/__snapshots__/java-junit.test.ts.snap +++ b/__tests__/__snapshots__/java-junit.test.ts.snap @@ -1,5 +1,2525 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`java-junit tests playwright test report - all tests 1`] = ` +TestRunResult { + "path": "fixtures/external/java/playwright-report.xml", + "suites": Array [ + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "authenticate as classic admin", + "result": "success", + "time": 1702, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as basketball admin", + "result": "success", + "time": 1734, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as wrestling admin", + "result": "success", + "time": 1697, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 1", + "result": "success", + "time": 516, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 3", + "result": "success", + "time": 527, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as coachAdmin", + "result": "success", + "time": 526, + }, + ], + }, + ], + "name": "auth.setup.ts", + "totalTime": 6702, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/analyze/load-video.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "during looping playback › when clip repeats, it starts at the beginning", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "rewind functions normally", + "result": "skipped", + "time": 12, + }, + ], + }, + ], + "name": "tests/analyze/seamless-video-playback.spec.ts", + "totalTime": 12, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "App › logs in and loads page", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/app.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Athlete › should not be able to edit data", + "result": "success", + "time": 2968, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data", + "result": "success", + "time": 5762, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed grid columns after editing", + "result": "success", + "time": 9215, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed clip preview fields after editing", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points", + "result": "success", + "time": 3150, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds", + "result": "success", + "time": 5091, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals", + "result": "success", + "time": 4261, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds", + "result": "success", + "time": 2860, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period", + "result": "success", + "time": 3501, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers", + "result": "success", + "time": 3721, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts", + "result": "success", + "time": 3282, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12 + + 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) }); + 11 | do { + > 12 | await this.locator.click(); + | ^ + 13 | } while (!expectedColumnSort.isVisible()); + 14 | } + 15 | } + + at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52 + at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13 + + 11 | + 12 | async click(force: boolean = false) { + > 13 | await this.locator.click({ force }); + | ^ + 14 | } + 15 | + 16 | async doubleClick() { + + at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58 + at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › should display error state for input with invalid data", + "result": "success", + "time": 5853, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › confirm auto-fill works correctly", + "result": "success", + "time": 5021, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist", + "result": "success", + "time": 2522, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist", + "result": "success", + "time": 2655, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist", + "result": "success", + "time": 2666, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist", + "result": "success", + "time": 2908, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster", + "result": "success", + "time": 4794, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data", + "result": "success", + "time": 5662, + }, + ], + }, + ], + "name": "tests/grid.spec.ts", + "totalTime": 115892, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/onboarding.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by Offense in Phase card", + "result": "success", + "time": 3542, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by defense in phase card", + "result": "success", + "time": 2471, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected", + "result": "success", + "time": 3207, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context", + "result": "success", + "time": 2932, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context", + "result": "success", + "time": 3549, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context", + "result": "success", + "time": 2802, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context", + "result": "success", + "time": 2949, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context", + "result": "success", + "time": 2937, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context", + "result": "success", + "time": 3277, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context", + "result": "success", + "time": 2799, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context", + "result": "success", + "time": 3056, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context", + "result": "success", + "time": 2850, + }, + ], + }, + ], + "name": "tests/statsEngine.spec.ts", + "totalTime": 36371, + }, + ], + "totalTime": 59092.58599999547, +} +`; + +exports[`java-junit tests playwright test report - ignore skipped tests 1`] = ` +TestRunResult { + "path": "fixtures/external/java/playwright-report.xml", + "suites": Array [ + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "authenticate as classic admin", + "result": "success", + "time": 1702, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as basketball admin", + "result": "success", + "time": 1734, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as wrestling admin", + "result": "success", + "time": 1697, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 1", + "result": "success", + "time": 516, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 3", + "result": "success", + "time": 527, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as coachAdmin", + "result": "success", + "time": 526, + }, + ], + }, + ], + "name": "auth.setup.ts", + "totalTime": 6702, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/analyze/load-video.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "during looping playback › when clip repeats, it starts at the beginning", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "rewind functions normally", + "result": "skipped", + "time": 12, + }, + ], + }, + ], + "name": "tests/analyze/seamless-video-playback.spec.ts", + "totalTime": 12, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "App › logs in and loads page", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/app.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Athlete › should not be able to edit data", + "result": "success", + "time": 2968, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data", + "result": "success", + "time": 5762, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed grid columns after editing", + "result": "success", + "time": 9215, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed clip preview fields after editing", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points", + "result": "success", + "time": 3150, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds", + "result": "success", + "time": 5091, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals", + "result": "success", + "time": 4261, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds", + "result": "success", + "time": 2860, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period", + "result": "success", + "time": 3501, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers", + "result": "success", + "time": 3721, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts", + "result": "success", + "time": 3282, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12 + + 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) }); + 11 | do { + > 12 | await this.locator.click(); + | ^ + 13 | } while (!expectedColumnSort.isVisible()); + 14 | } + 15 | } + + at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52 + at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13 + + 11 | + 12 | async click(force: boolean = false) { + > 13 | await this.locator.click({ force }); + | ^ + 14 | } + 15 | + 16 | async doubleClick() { + + at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58 + at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › should display error state for input with invalid data", + "result": "success", + "time": 5853, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › confirm auto-fill works correctly", + "result": "success", + "time": 5021, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist", + "result": "success", + "time": 2522, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist", + "result": "success", + "time": 2655, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist", + "result": "success", + "time": 2666, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist", + "result": "success", + "time": 2908, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster", + "result": "success", + "time": 4794, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data", + "result": "success", + "time": 5662, + }, + ], + }, + ], + "name": "tests/grid.spec.ts", + "totalTime": 115892, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/onboarding.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by Offense in Phase card", + "result": "success", + "time": 3542, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by defense in phase card", + "result": "success", + "time": 2471, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected", + "result": "success", + "time": 3207, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context", + "result": "success", + "time": 2932, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context", + "result": "success", + "time": 3549, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context", + "result": "success", + "time": 2802, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context", + "result": "success", + "time": 2949, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context", + "result": "success", + "time": 2937, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context", + "result": "success", + "time": 3277, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context", + "result": "success", + "time": 2799, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context", + "result": "success", + "time": 3056, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context", + "result": "success", + "time": 2850, + }, + ], + }, + ], + "name": "tests/statsEngine.spec.ts", + "totalTime": 36371, + }, + ], + "totalTime": 59092.58599999547, +} +`; + +exports[`java-junit tests playwright test report - only failed 1`] = ` +TestRunResult { + "path": "fixtures/external/java/playwright-report.xml", + "suites": Array [ + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "authenticate as classic admin", + "result": "success", + "time": 1702, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as basketball admin", + "result": "success", + "time": 1734, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as wrestling admin", + "result": "success", + "time": 1697, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 1", + "result": "success", + "time": 516, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 3", + "result": "success", + "time": 527, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as coachAdmin", + "result": "success", + "time": 526, + }, + ], + }, + ], + "name": "auth.setup.ts", + "totalTime": 6702, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/analyze/load-video.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "during looping playback › when clip repeats, it starts at the beginning", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "rewind functions normally", + "result": "skipped", + "time": 12, + }, + ], + }, + ], + "name": "tests/analyze/seamless-video-playback.spec.ts", + "totalTime": 12, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "App › logs in and loads page", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/app.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Athlete › should not be able to edit data", + "result": "success", + "time": 2968, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data", + "result": "success", + "time": 5762, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed grid columns after editing", + "result": "success", + "time": 9215, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed clip preview fields after editing", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points", + "result": "success", + "time": 3150, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds", + "result": "success", + "time": 5091, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals", + "result": "success", + "time": 4261, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds", + "result": "success", + "time": 2860, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period", + "result": "success", + "time": 3501, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers", + "result": "success", + "time": 3721, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts", + "result": "success", + "time": 3282, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12 + + 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) }); + 11 | do { + > 12 | await this.locator.click(); + | ^ + 13 | } while (!expectedColumnSort.isVisible()); + 14 | } + 15 | } + + at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52 + at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13 + + 11 | + 12 | async click(force: boolean = false) { + > 13 | await this.locator.click({ force }); + | ^ + 14 | } + 15 | + 16 | async doubleClick() { + + at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58 + at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › should display error state for input with invalid data", + "result": "success", + "time": 5853, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › confirm auto-fill works correctly", + "result": "success", + "time": 5021, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist", + "result": "success", + "time": 2522, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist", + "result": "success", + "time": 2655, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist", + "result": "success", + "time": 2666, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist", + "result": "success", + "time": 2908, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster", + "result": "success", + "time": 4794, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data", + "result": "success", + "time": 5662, + }, + ], + }, + ], + "name": "tests/grid.spec.ts", + "totalTime": 115892, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/onboarding.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by Offense in Phase card", + "result": "success", + "time": 3542, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by defense in phase card", + "result": "success", + "time": 2471, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected", + "result": "success", + "time": 3207, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context", + "result": "success", + "time": 2932, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context", + "result": "success", + "time": 3549, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context", + "result": "success", + "time": 2802, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context", + "result": "success", + "time": 2949, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context", + "result": "success", + "time": 2937, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context", + "result": "success", + "time": 3277, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context", + "result": "success", + "time": 2799, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context", + "result": "success", + "time": 3056, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context", + "result": "success", + "time": 2850, + }, + ], + }, + ], + "name": "tests/statsEngine.spec.ts", + "totalTime": 36371, + }, + ], + "totalTime": 59092.58599999547, +} +`; + +exports[`java-junit tests playwright test report - only summary 1`] = ` +TestRunResult { + "path": "fixtures/external/java/playwright-report.xml", + "suites": Array [ + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "authenticate as classic admin", + "result": "success", + "time": 1702, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as basketball admin", + "result": "success", + "time": 1734, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as wrestling admin", + "result": "success", + "time": 1697, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 1", + "result": "success", + "time": 516, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as onboarding admin 3", + "result": "success", + "time": 527, + }, + TestCaseResult { + "error": undefined, + "name": "authenticate as coachAdmin", + "result": "success", + "time": 526, + }, + ], + }, + ], + "name": "auth.setup.ts", + "totalTime": 6702, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using manual timings", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API mark", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "record \\"Time to Video\\" when loading directly via URL › using Performance API measurement", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/analyze/load-video.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "during looping playback › when clip repeats, it starts at the beginning", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "during sequential playback (\\"Play All Clips\\" mode) › when one clip plays through to the next, overlapping video is skipped", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Play All Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › when clicked on in navigation module", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with next clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "in 'Loop Clips' mode, clip plays from beginning › with previous clip button", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "rewind functions normally", + "result": "skipped", + "time": 12, + }, + ], + }, + ], + "name": "tests/analyze/seamless-video-playback.spec.ts", + "totalTime": 12, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "App › logs in and loads page", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/app.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Athlete › should not be able to edit data", + "result": "success", + "time": 2968, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Mobile Web › Admin or Coach › should be able to edit data", + "result": "success", + "time": 5762, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed grid columns after editing", + "result": "success", + "time": 9215, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Field Sets › should update displayed clip preview fields after editing", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Scout team Points", + "result": "success", + "time": 3150, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Opponent Rebounds", + "result": "success", + "time": 5091, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Steals", + "result": "success", + "time": 4261, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by Rebounds", + "result": "success", + "time": 2860, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities in Period when filtered by Period", + "result": "success", + "time": 3501, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display clips for opportunities that end in a turnover when filtered by Turnovers", + "result": "success", + "time": 3721, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Basketball Navigation Module › should display correct moment data when filtered by 3FG Attempts", + "result": "success", + "time": 3282, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:202:11 › Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column › Sort grid by OFF FORM in ascending order + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id^=\\"column-header-OFF FORM-\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/table.locator.ts:12 + + 10 | const expectedColumnSort = this.locator.filter({ has: this.page.locator(\`[data-qa-id*='\${sortOrder}']\`) }); + 11 | do { + > 12 | await this.locator.click(); + | ^ + 13 | } while (!expectedColumnSort.isVisible()); + 14 | } + 15 | } + + at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52 + at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Column Sorting › AmFb Column Sets › should display correct data when sorting by OFF FORM column", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Column Sorting › Wrestling Column Sets › should display correct data when sorting by Period column", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Quick Editor › should be able to edit data from quick editor as an admin or coach", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:254:9 › Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should open select dropdown options when pressing Spacebar in grid cell", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:261:9 › Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data › double click into column OFF FORM clip number 3 + + Test timeout of 10000ms exceeded. + + Error: locator.dblclick: Target closed + =========================== logs =========================== + waiting for locator('div[data-qa-id=\\\\'OFF FORM-column-3\\\\']') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17 + + 15 | + 16 | async doubleClick() { + > 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate horizontal grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": Object { + "details": " + [chrome] › tests/grid.spec.ts:277:9 › Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data › Select BUNCH from column OFF FORM list + + Test timeout of 10000ms exceeded. + + Error: locator.click: Target closed + =========================== logs =========================== + waiting for locator('[data-qa-id=\\"clip-edit-field-OFF FORM\\"]') + ============================================================ + + at ../../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13 + + 11 | + 12 | async click(force: boolean = false) { + > 13 | await this.locator.click({ force }); + | ^ + 14 | } + 15 | + 16 | async doubleClick() { + + at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58 + at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── + +", + "line": undefined, + "message": undefined, + "path": undefined, + }, + "name": "Grid › Data Entry › should be able to use keyboard to navigate vertical grid and enter data", + "result": "failed", + "time": 10000, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › should display error state for input with invalid data", + "result": "success", + "time": 5853, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Data Entry › confirm auto-fill works correctly", + "result": "success", + "time": 5021, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct wrestler names tagged from Assist", + "result": "success", + "time": 2522, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct score and points tagged from Assist", + "result": "success", + "time": 2655, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Period tagged from Assist", + "result": "success", + "time": 2666, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should display correct Key Moments tagged from Assist", + "result": "success", + "time": 2908, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should edit cells using the team roster", + "result": "success", + "time": 4794, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Tagged data › Wrestling › should change key moment type and update grid data", + "result": "success", + "time": 5662, + }, + ], + }, + ], + "name": "tests/grid.spec.ts", + "totalTime": 115892, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › should successfully display field visibility onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Grid Hotkey Tooltip › should successfully display grid hotkey onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Reorder Field Sets › should successfully display field reorder onboarding prompt", + "result": "skipped", + "time": 0, + }, + TestCaseResult { + "error": undefined, + "name": "Grid › Onboarding › Field Visibility › Quick Edit › should successfully display quick edit onboarding prompt", + "result": "skipped", + "time": 0, + }, + ], + }, + ], + "name": "tests/onboarding.spec.ts", + "totalTime": 0, + }, + TestSuiteResult { + "groups": Array [ + TestGroupResult { + "name": "", + "tests": Array [ + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by Offense in Phase card", + "result": "success", + "time": 3542, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Filter by defense in phase card", + "result": "success", + "time": 2471, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Key stats card stats appear as expected when opponent is selected", + "result": "success", + "time": 3207, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - FG percentage for Team in Context", + "result": "success", + "time": 2932, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Makes for Team in Context", + "result": "success", + "time": 3549, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 2FG Attempts for Team in Context", + "result": "success", + "time": 2802, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Makes for Team in Context", + "result": "success", + "time": 2949, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - 3FG Attempts for Team in Context", + "result": "success", + "time": 2937, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Off. Rebounds for Team in Context", + "result": "success", + "time": 3277, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Def. Rebounds for Team in Context", + "result": "success", + "time": 2799, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Assists for Team in Context", + "result": "success", + "time": 3056, + }, + TestCaseResult { + "error": undefined, + "name": "Mock stats engine for speed › Selecting a Key Stats filter updates both the Navigation Module and Insights Module cards - Steal for Team in Context", + "result": "success", + "time": 2850, + }, + ], + }, + ], + "name": "tests/statsEngine.spec.ts", + "totalTime": 36371, + }, + ], + "totalTime": 59092.58599999547, +} +`; + exports[`java-junit tests report from apache/pulsar single suite test results matches snapshot 1`] = ` TestRunResult { "path": "fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml", diff --git a/__tests__/fixtures/external/java/playwright-report.xml b/__tests__/fixtures/external/java/playwright-report.xml new file mode 100644 index 0000000..5ade47c --- /dev/null +++ b/__tests__/fixtures/external/java/playwright-report.xml @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 | await this.locator.click(); + | ^ + 13 | } while (!expectedColumnSort.isVisible()); + 14 | } + 15 | } + + at TableLocator.sortColumnBy (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/table.locator.ts:12:26) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:30:52 + at GridActions.sortColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:28:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:205:27 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/table.locator.ts:12:26 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Column-Sorting-AmFb-Column-Set-8f487-ay-correct-data-when-sorting-by-OFF-FORM-column-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + + + + + + + + + + + + + + + + + + + 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:256:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-open-select-dropdown-options-when-pressing-Spacebar-in-grid-cell-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + + + 17 | await this.locator.dblclick(); + | ^ + 18 | } + 19 | + 20 | async getText() { + + at TextInputLocator.doubleClick (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:48:63 + at GridActions.doubleClickIntoGridColumn (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:47:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:263:25 + + Pending operations: + - locator.dblclick at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:17:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-horizontal-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + + + 13 | await this.locator.click({ force }); + | ^ + 14 | } + 15 | + 16 | async doubleClick() { + + at SelectLocator.click (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:93:58 + at GridActions.enterGridSelectValue (/Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/models/actions/grid.actions.ts:92:16) + at /Users/connor.vidlock/Documents/GitHub/hudl-frontends/apps/watch/playwright/tests/grid.spec.ts:279:25 + + Pending operations: + - locator.click at ../../packages/playwright-shared/src/models/locators/base/base.locator.ts:13:24 + + + attachment #1: screenshot (image/png) ────────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/test-failed-1.png + ──────────────────────────────────────────────────────────────────────────────────────────────── + + attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── + playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + Usage: + + npx playwright show-trace playwright/test-results/tests-grid-Grid-Data-Entry-should-be-able-to-use-keyboard-to-navigate-vertical-grid-and-enter-data-chrome/trace.zip + + ──────────────────────────────────────────────────────────────────────────────────────────────── +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/__tests__/java-junit.test.ts b/__tests__/java-junit.test.ts index e8111d4..c0d6011 100644 --- a/__tests__/java-junit.test.ts +++ b/__tests__/java-junit.test.ts @@ -3,7 +3,7 @@ import * as path from 'path' import {JavaJunitParser} from '../src/parsers/java-junit/java-junit-parser' import {ParseOptions} from '../src/test-parser' -import {getReport} from '../src/report/get-report' +import {ReportOptions, getReport} from '../src/report/get-report' import {normalizeFilePath} from '../src/utils/path-utils' describe('java-junit tests', () => { @@ -90,4 +90,117 @@ describe('java-junit tests', () => { expect(result.result === 'failed') expect(result.failed === 1) }) + + it('playwright test report - all tests', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-all.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + } + + const reportOpts: ReportOptions = { + listSuites: 'all', + listTests: 'all', + baseUrl: '', + onlySummary: false + } + + const parser = new JavaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result], reportOpts) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + it('playwright test report - ignore skipped tests', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-no-skipped.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + } + + const reportOpts: ReportOptions = { + listSuites: 'all', + listTests: 'non-skipped', + baseUrl: '', + onlySummary: false + } + + const parser = new JavaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result], reportOpts) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + it('playwright test report - only failed', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-failed.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + } + + const reportOpts: ReportOptions = { + listSuites: 'failed', + listTests: 'failed', + baseUrl: '', + onlySummary: false + } + + const parser = new JavaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result], reportOpts) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + it('playwright test report - only summary', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'playwright-report.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'java', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'playwright-output-summary.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + } + + const reportOpts: ReportOptions = { + listSuites: 'all', + listTests: 'all', + baseUrl: '', + onlySummary: true + } + + const parser = new JavaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result], reportOpts) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) }) diff --git a/src/report/get-report.ts b/src/report/get-report.ts index a782d12..0d82b1a 100644 --- a/src/report/get-report.ts +++ b/src/report/get-report.ts @@ -190,12 +190,7 @@ function getSuitesReport(tr: TestRunResult, runIndex: number, options: ReportOpt const tsNameLink = skipLink ? tsName : link(tsName, tsAddr) const passed = s.passed > 0 ? `${s.passed}${Icon.success}` : '' const failed = s.failed > 0 ? `${s.failed}${Icon.fail}` : '' - let skipped - if (options.listTests === 'non-skipped') { - return [tsNameLink, passed, failed, '', tsTime] - } else { - skipped = s.skipped > 0 ? `${s.skipped}${Icon.skip}` : '' - } + const skipped = s.skipped > 0 ? `${s.skipped}${Icon.skip}` : '' return [tsNameLink, passed, failed, skipped, tsTime] }) )