Skip to content

Commit d17dcf5

Browse files
committed
fix reporter tests and run in CI
1 parent f7d32e5 commit d17dcf5

14 files changed

+20
-17
lines changed

packages/reporter/cypress/e2e/agents.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('agents', () => {
2727
})
2828

2929
start = () => {
30-
cy.get('.reporter').then(() => {
30+
cy.get('.reporter.mounted').then(() => {
3131
runner.emit('runnables:ready', runnables)
3232
runner.emit('reporter:start', {})
3333
})

packages/reporter/cypress/e2e/aliases.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('aliases', () => {
2626
})
2727
})
2828

29-
cy.get('.reporter').then(() => {
29+
cy.get('.reporter.mounted').then(() => {
3030
runner.emit('runnables:ready', runnables)
3131
runner.emit('reporter:start', {})
3232
})

packages/reporter/cypress/e2e/commands.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('commands', { viewportHeight: 1000 }, () => {
2727
})
2828
})
2929

30-
cy.get('.reporter').then(() => {
30+
cy.get('.reporter.mounted').then(() => {
3131
runner.emit('runnables:ready', runnables)
3232
runner.emit('reporter:start', {})
3333
addCommand(runner, {

packages/reporter/cypress/e2e/header.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ describe('header', () => {
3232
})
3333
})
3434

35-
cy.get('.reporter').then(() => {
35+
cy.get('.reporter.mounted').then(() => {
3636
runner.emit('runnables:ready', { ...runnables, testFilter: opts?.testFilter, totalUnfilteredTests: opts?.totalUnfilteredTests })
3737
runner.emit('reporter:start', {})
3838
})

packages/reporter/cypress/e2e/hooks.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('hooks', () => {
2626
})
2727
})
2828

29-
cy.get('.reporter').then(() => {
29+
cy.get('.reporter.mounted').then(() => {
3030
runner.emit('runnables:ready', runnables)
3131
runner.emit('reporter:start', {})
3232
})

packages/reporter/cypress/e2e/memory.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ function visitAndRenderReporter (studioEnabled: boolean = false, studioActive: b
2929
})
3030
})
3131

32-
cy.get('.reporter').then(() => {
32+
cy.get('.reporter.mounted').then(() => {
3333
runner.emit('runnables:ready', runnables)
3434
runner.emit('reporter:start', { studioActive })
3535
})

packages/reporter/cypress/e2e/routes.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('routes', () => {
2727
})
2828

2929
start = () => {
30-
cy.get('.reporter').then(() => {
30+
cy.get('.reporter.mounted').then(() => {
3131
runner.emit('runnables:ready', runnables)
3232
runner.emit('reporter:start', {})
3333
})

packages/reporter/cypress/e2e/runnables.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('runnables', () => {
4545
start = (renderProps?: Partial<BaseReporterProps>) => {
4646
render(renderProps)
4747

48-
return cy.get('.reporter').then(() => {
48+
return cy.get('.reporter.mounted').then(() => {
4949
runner.emit('runnables:ready', runnables)
5050
runner.emit('reporter:start', {})
5151
})

packages/reporter/cypress/e2e/shortcuts.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ describe('shortcuts', function () {
3636
})
3737
})
3838

39-
cy.get('.reporter').then(() => {
39+
cy.get('.reporter.mounted').then(() => {
4040
runner.emit('runnables:ready', this.runnables)
4141
runner.emit('reporter:start', {})
4242
})

packages/reporter/cypress/e2e/spec_title.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('spec title', () => {
1313
win.render({ runner, runnerStore: { spec } })
1414
})
1515

16-
cy.get('.reporter').then(() => {
16+
cy.get('.reporter.mounted').then(() => {
1717
runner.emit('runnables:ready', {})
1818
runner.emit('reporter:start', {})
1919
})

packages/reporter/cypress/e2e/suites.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('suites', () => {
2929
})
3030
})
3131

32-
cy.get('.reporter').then(() => {
32+
cy.get('.reporter.mounted').then(() => {
3333
runner.emit('runnables:ready', runnables)
3434
runner.emit('reporter:start', {})
3535
})

packages/reporter/cypress/e2e/test_errors.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('test errors', () => {
2020
// @ts-ignore
2121
runnablesWithErr.suites[0].tests[0].err = err
2222

23-
cy.get('.reporter').then(() => {
23+
cy.get('.reporter.mounted').then(() => {
2424
runner.emit('runnables:ready', runnablesWithErr)
2525
runner.emit('reporter:start', {})
2626
})

packages/reporter/cypress/e2e/tests.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function visitAndRenderReporter (studioEnabled: boolean = false, studioActive: b
2828
})
2929
})
3030

31-
cy.get('.reporter').then(() => {
31+
cy.get('.reporter.mounted').then(() => {
3232
runner.emit('runnables:ready', runnables)
3333
runner.emit('reporter:start', { studioActive })
3434
})

packages/reporter/src/main.tsx

+7-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { action, runInAction } from 'mobx'
33
import { observer } from 'mobx-react'
44
import cs from 'classnames'
5-
import React, { useEffect, useRef } from 'react'
5+
import React, { useEffect, useRef, useState } from 'react'
66
import { createRoot } from 'react-dom/client'
77
// @ts-ignore
88
import EQ from 'css-element-queries/src/ElementQueries'
@@ -53,12 +53,11 @@ export interface SingleReporterProps extends BaseReporterProps{
5353

5454
const Reporter: React.FC<SingleReporterProps> = observer(({ runner, className, error, runMode = 'single', studioEnabled, autoScrollingEnabled, isSpecsListOpen, resetStatsOnSpecChange, renderReporterHeader = (props: ReporterHeaderProps) => <Header {...props}/>, runnerStore }) => {
5555
const previousSpecRunId = usePrevious(runnerStore.specRunId)
56-
const mounted = useRef<boolean>()
56+
const [isMounted, setIsMounted] = useState(false)
5757

5858
useEffect(() => {
59-
if (!mounted.current) {
59+
if (!isMounted) {
6060
// do componentDidMount logic
61-
mounted.current = true
6261

6362
if (!runnerStore.spec) {
6463
throw Error(`Expected runnerStore.spec not to be null.`)
@@ -85,8 +84,11 @@ const Reporter: React.FC<SingleReporterProps> = observer(({ runner, className, e
8584
shortcuts.start()
8685
EQ.init()
8786
runnablesStore.setRunningSpec(runnerStore.spec.relative)
87+
// we need to know when the test is mounted for our reporter tests. see
88+
setIsMounted(true)
8889
} else {
8990
// do componentDidUpdate logic
91+
// TODO: is this in the right place?
9092

9193
if (!runnerStore.spec) {
9294
throw Error(`Expected runnerStore.spec not to be null.`)
@@ -110,6 +112,7 @@ const Reporter: React.FC<SingleReporterProps> = observer(({ runner, className, e
110112
return (
111113
<div className={cs(className, 'reporter', {
112114
'studio-active': appState.studioActive,
115+
'mounted': isMounted,
113116
})}>
114117
{renderReporterHeader({ appState, statsStore, runnablesStore })}
115118
{appState?.isPreferencesMenuOpen ? (

0 commit comments

Comments
 (0)