2
2
import { action , runInAction } from 'mobx'
3
3
import { observer } from 'mobx-react'
4
4
import cs from 'classnames'
5
- import React , { useEffect , useRef } from 'react'
5
+ import React , { useEffect , useRef , useState } from 'react'
6
6
import { createRoot } from 'react-dom/client'
7
7
// @ts -ignore
8
8
import EQ from 'css-element-queries/src/ElementQueries'
@@ -53,12 +53,11 @@ export interface SingleReporterProps extends BaseReporterProps{
53
53
54
54
const Reporter : React . FC < SingleReporterProps > = observer ( ( { runner, className, error, runMode = 'single' , studioEnabled, autoScrollingEnabled, isSpecsListOpen, resetStatsOnSpecChange, renderReporterHeader = ( props : ReporterHeaderProps ) => < Header { ...props } /> , runnerStore } ) => {
55
55
const previousSpecRunId = usePrevious ( runnerStore . specRunId )
56
- const mounted = useRef < boolean > ( )
56
+ const [ isMounted , setIsMounted ] = useState ( false )
57
57
58
58
useEffect ( ( ) => {
59
- if ( ! mounted . current ) {
59
+ if ( ! isMounted ) {
60
60
// do componentDidMount logic
61
- mounted . current = true
62
61
63
62
if ( ! runnerStore . spec ) {
64
63
throw Error ( `Expected runnerStore.spec not to be null.` )
@@ -85,8 +84,11 @@ const Reporter: React.FC<SingleReporterProps> = observer(({ runner, className, e
85
84
shortcuts . start ( )
86
85
EQ . init ( )
87
86
runnablesStore . setRunningSpec ( runnerStore . spec . relative )
87
+ // we need to know when the test is mounted for our reporter tests. see
88
+ setIsMounted ( true )
88
89
} else {
89
90
// do componentDidUpdate logic
91
+ // TODO: is this in the right place?
90
92
91
93
if ( ! runnerStore . spec ) {
92
94
throw Error ( `Expected runnerStore.spec not to be null.` )
@@ -110,6 +112,7 @@ const Reporter: React.FC<SingleReporterProps> = observer(({ runner, className, e
110
112
return (
111
113
< div className = { cs ( className , 'reporter' , {
112
114
'studio-active' : appState . studioActive ,
115
+ 'mounted' : isMounted ,
113
116
} ) } >
114
117
{ renderReporterHeader ( { appState, statsStore, runnablesStore } ) }
115
118
{ appState ?. isPreferencesMenuOpen ? (
0 commit comments