11import { expectTypeOf } from 'expect-type'
2- import type { ComponentProps , SvelteComponent } from 'svelte'
32import { describe , test } from 'vitest'
43
54import * as subject from '../index.js'
6- import Simple from './fixtures/Simple.svelte'
7-
8- describe ( 'types' , ( ) => {
9- test ( 'render is a function that accepts a Svelte component' , ( ) => {
10- subject . render ( Simple , { name : 'Alice' , count : 42 } )
11- subject . render ( Simple , { props : { name : 'Alice' , count : 42 } } )
12- } )
13-
14- test ( 'rerender is a function that accepts partial props' , async ( ) => {
15- const { rerender } = subject . render ( Simple , { name : 'Alice' , count : 42 } )
16-
17- await rerender ( { name : 'Bob' } )
18- await rerender ( { count : 0 } )
19- } )
20-
21- test ( 'invalid prop types are rejected' , ( ) => {
22- // @ts -expect-error: name should be a string
23- subject . render ( Simple , { name : 42 } )
24-
25- // @ts -expect-error: name should be a string
26- subject . render ( Simple , { props : { name : 42 } } )
27- } )
28-
29- test ( 'render result has container and component' , ( ) => {
30- const result = subject . render ( Simple , { name : 'Alice' , count : 42 } )
31-
32- expectTypeOf ( result ) . toMatchTypeOf < {
33- container : HTMLElement
34- component : SvelteComponent < { name : string } >
35- debug : ( el ?: HTMLElement ) => void
36- rerender : ( props : Partial < ComponentProps < Simple > > ) => Promise < void >
37- unmount : ( ) => void
38- } > ( )
39- } )
5+ import Component from './fixtures/Comp.svelte'
406
7+ describe ( 'render query and utility types' , ( ) => {
418 test ( 'render result has default queries' , ( ) => {
42- const result = subject . render ( Simple , { name : 'Alice' , count : 42 } )
9+ const result = subject . render ( Component , { name : 'Alice' } )
4310
4411 expectTypeOf ( result . getByRole ) . parameters . toMatchTypeOf <
4512 [ role : subject . ByRoleMatcher , options ?: subject . ByRoleOptions ]
@@ -55,8 +22,8 @@ describe('types', () => {
5522 ( ) => ''
5623 )
5724 const result = subject . render (
58- Simple ,
59- { name : 'Alice' , count : 42 } ,
25+ Component ,
26+ { name : 'Alice' } ,
6027 { queries : { getByVibes } }
6128 )
6229
0 commit comments