Merge pull request #15 from hudl/issue4-onlyshowfailedtest

only show failed issues
This commit is contained in:
Connor Vidlock 2024-10-16 15:12:41 -05:00 committed by GitHub
commit 53d6d651e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 6376 additions and 5911 deletions

View file

@ -0,0 +1,27 @@
name: Playwright Test Report - only failed tests
on:
workflow_run:
workflows: ['CI']
types:
- completed
push:
jobs:
report:
name: Workflow test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check dirs
run: ls
- name: Test reporter
uses: ./
with:
name: Workflow Report
path: playwright-report.xml
reporter: java-junit
show-html-notice: true
list-tests: 'failed'
list-suites: 'failed'
fail-on-error: false

View file

@ -405,28 +405,11 @@
|packages/pretty-format/src/__tests__/ReactElement.test.ts|3✅|||64ms|
### ❌ <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
```
✅ gets hg SCM roots and dedupes them
✅ gets git SCM roots and dedupes them
✅ gets mixed git and hg SCM roots and dedupes them
✅ gets changed files for git
✅ monitors only root paths for git
✅ does not find changes in files with no diff, for git
✅ handles a bad revision for "changedSince", for git
❌ gets changed files for hg
Error: abort: empty revision range
✅ monitors only root paths for hg
✅ handles a bad revision for "changedSince", for hg
```
### ❌ <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a>
```
✅ run for "onlyChanged" and "changedSince"
✅ run only changed files
✅ report test coverage for only changed files
✅ report test coverage of source on test file change under only changed files
✅ do not pickup non-tested files when reporting coverage on only changed files
✅ collect test coverage when using onlyChanged
✅ onlyChanged in config is overwritten by --all or testPathPattern
❌ gets changed files for hg
Error: expect(received).toMatch(expected)
✅ path on Windows is case-insensitive
```

View file

@ -0,0 +1,97 @@
![Tests failed](https://img.shields.io/badge/tests-36%20passed%2C%204%20failed%2C%2020%20skipped-critical)
## ❌ <a id="user-content-r0" href="#r0">fixtures/external/java/playwright-report.xml</a>
**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|
### ✅ <a id="user-content-r0s0" href="#r0s0">auth.setup.ts</a>
```
✅ 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
```
### ✅ <a id="user-content-r0s1" href="#r0s1">tests/analyze/load-video.spec.ts</a>
```
⚪ 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
```
### ✅ <a id="user-content-r0s2" href="#r0s2">tests/analyze/seamless-video-playback.spec.ts</a>
```
⚪ 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
```
### ✅ <a id="user-content-r0s3" href="#r0s3">tests/app.spec.ts</a>
```
⚪ App logs in and loads page
```
### ❌ <a id="user-content-r0s4" href="#r0s4">tests/grid.spec.ts</a>
```
✅ 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
```
### ✅ <a id="user-content-r0s5" href="#r0s5">tests/onboarding.spec.ts</a>
```
⚪ 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
```
### ✅ <a id="user-content-r0s6" href="#r0s6">tests/statsEngine.spec.ts</a>
```
✅ 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
```

View file

@ -6,33 +6,12 @@
|[tests/grid.spec.ts](#r0s0)|18✅|4❌|3⚪|116s|
### ❌ <a id="user-content-r0s0" href="#r0s0">tests/grid.spec.ts</a>
```
✅ 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
```

View file

@ -630,6 +630,636 @@ TestRunResult {
}
`;
exports[`java-junit tests playwright test report - default options 1`] = `
TestRunResult {
"path": "fixtures/external/java/playwright-report.xml",
"suites": [
TestSuiteResult {
"groups": [
TestGroupResult {
"name": "",
"tests": [
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": [
TestGroupResult {
"name": "",
"tests": [
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": [
TestGroupResult {
"name": "",
"tests": [
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": [
TestGroupResult {
"name": "",
"tests": [
TestCaseResult {
"error": undefined,
"name": "App logs in and loads page",
"result": "skipped",
"time": 0,
},
],
},
],
"name": "tests/app.spec.ts",
"totalTime": 0,
},
TestSuiteResult {
"groups": [
TestGroupResult {
"name": "",
"tests": [
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": {
"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": {
"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": {
"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": {
"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": [
TestGroupResult {
"name": "",
"tests": [
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": [
TestGroupResult {
"name": "",
"tests": [
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",

View file

@ -203,4 +203,25 @@ describe('java-junit tests', () => {
fs.mkdirSync(path.dirname(outputPath), {recursive: true})
fs.writeFileSync(outputPath, report)
})
it('playwright test report - default options', 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-default.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 parser = new JavaJunitParser(opts)
const result = await parser.parse(filePath, fileContent)
expect(result).toMatchSnapshot()
const report = getReport([result])
fs.mkdirSync(path.dirname(outputPath), {recursive: true})
fs.writeFileSync(outputPath, report)
})
})

6633
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

29
dist/licenses.txt generated vendored
View file

@ -378,16 +378,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
@vercel/ncc
MIT
Copyright 2018 ZEIT, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
adm-zip
MIT
MIT License
@ -622,7 +612,7 @@ braces
MIT
The MIT License (MIT)
Copyright (c) 2014-2018, Jon Schlinkert.
Copyright (c) 2014-present, Jon Schlinkert.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -1363,7 +1353,7 @@ sax
ISC
The ISC License
Copyright (c) Isaac Z. Schlueter and Contributors
Copyright (c) 2010-2024 Isaac Z. Schlueter and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@ -1382,7 +1372,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
`String.fromCodePoint` by Mathias Bynens used according to terms of MIT
License, as follows:
Copyright Mathias Bynens <https://mathiasbynens.be/>
Copyright (c) 2010-2024 Mathias Bynens <https://mathiasbynens.be/>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@ -1490,19 +1480,6 @@ Permission to use, copy, modify, and/or distribute this software for any purpose
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
uuid
MIT
The MIT License (MIT)
Copyright (c) 2010-2020 Robert Kieffer and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
wrappy
ISC
The ISC License

4807
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -233,6 +233,9 @@ function getTestsReport(ts: TestSuiteResult, runIndex: number, suiteIndex: numbe
}
const space = grp.name ? ' ' : ''
for (const tc of grp.tests) {
if (options.listTests === 'failed' && tc.result !== 'failed') {
continue
}
if (options.listTests === 'non-skipped' && tc.result === 'skipped') {
continue
}

View file

@ -1,6 +1,6 @@
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"target": "ES2023", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */