3
3
*/
4
4
import { resolve } from 'pathe'
5
5
import type { ViteNodeRunner } from 'vite-node/client'
6
+ import type { Vitest } from 'vitest'
6
7
import { describe , expect , test } from 'vitest'
7
8
import { createReporters } from '../../../packages/vitest/src/node/reporters/utils'
8
9
import { DefaultReporter } from '../../../packages/vitest/src/node/reporters/default'
@@ -12,29 +13,32 @@ const customReporterPath = resolve(__dirname, '../src/custom-reporter.js')
12
13
const fetchModule = {
13
14
executeId : ( id : string ) => import ( id ) ,
14
15
} as ViteNodeRunner
16
+ const ctx = {
17
+ runner : fetchModule ,
18
+ } as Vitest
15
19
16
20
describe ( 'Reporter Utils' , ( ) => {
17
21
test ( 'passing an empty array returns nothing' , async ( ) => {
18
- const promisedReporters = await createReporters ( [ ] , fetchModule )
22
+ const promisedReporters = await createReporters ( [ ] , ctx )
19
23
expect ( promisedReporters ) . toHaveLength ( 0 )
20
24
} )
21
25
22
26
test ( 'passing the name of a single built-in reporter returns a new instance' , async ( ) => {
23
- const promisedReporters = await createReporters ( [ 'default' ] , fetchModule )
27
+ const promisedReporters = await createReporters ( [ 'default' ] , ctx )
24
28
expect ( promisedReporters ) . toHaveLength ( 1 )
25
29
const reporter = promisedReporters [ 0 ]
26
30
expect ( reporter ) . toBeInstanceOf ( DefaultReporter )
27
31
} )
28
32
29
33
test ( 'passing in the path to a custom reporter returns a new instance' , async ( ) => {
30
- const promisedReporters = await createReporters ( ( [ customReporterPath ] ) , fetchModule )
34
+ const promisedReporters = await createReporters ( ( [ customReporterPath ] ) , ctx )
31
35
expect ( promisedReporters ) . toHaveLength ( 1 )
32
36
const customReporter = promisedReporters [ 0 ]
33
37
expect ( customReporter ) . toBeInstanceOf ( TestReporter )
34
38
} )
35
39
36
40
test ( 'passing in a mix of built-in and custom reporters works' , async ( ) => {
37
- const promisedReporters = await createReporters ( [ 'default' , customReporterPath ] , fetchModule )
41
+ const promisedReporters = await createReporters ( [ 'default' , customReporterPath ] , ctx )
38
42
expect ( promisedReporters ) . toHaveLength ( 2 )
39
43
const defaultReporter = promisedReporters [ 0 ]
40
44
expect ( defaultReporter ) . toBeInstanceOf ( DefaultReporter )
0 commit comments