1- import { beforeEach , describe , expect , test } from 'vitest'
1+ import { setTimeout } from 'node:timers/promises'
2+
3+ import { act , render } from '@testing-library/svelte'
4+ import { describe , expect , test } from 'vitest'
25
3- import { act , fireEvent , render as stlRender } from '@testing-library/svelte'
46import Comp from './fixtures/Comp.svelte'
57
68describe ( 'act' , ( ) => {
7- let props
8-
9- const render = ( ) => {
10- return stlRender ( Comp , {
11- props
12- } )
13- }
14-
15- beforeEach ( ( ) => {
16- props = {
17- name : 'World'
18- }
19- } )
20-
219 test ( 'state updates are flushed' , async ( ) => {
22- const { getByText } = render ( )
10+ const { getByText } = render ( Comp )
2311 const button = getByText ( 'Button' )
2412
2513 expect ( button ) . toHaveTextContent ( 'Button' )
@@ -31,24 +19,13 @@ describe('act', () => {
3119 expect ( button ) . toHaveTextContent ( 'Button Clicked' )
3220 } )
3321
34- test ( 'findByTestId returns the element' , async ( ) => {
35- const { findByTestId } = render ( )
36-
37- expect ( await findByTestId ( 'test' ) ) . toHaveTextContent ( `Hello ${ props . name } !` )
38- } )
39-
4022 test ( 'accepts async functions' , async ( ) => {
41- const sleep = ( ms ) =>
42- new Promise ( ( resolve ) => {
43- setTimeout ( ( ) => resolve ( ) , ms )
44- } )
45-
46- const { getByText } = render ( )
23+ const { getByText } = render ( Comp )
4724 const button = getByText ( 'Button' )
4825
4926 await act ( async ( ) => {
50- await sleep ( 100 )
51- await fireEvent . click ( button )
27+ await setTimeout ( 100 )
28+ button . click ( )
5229 } )
5330
5431 expect ( button ) . toHaveTextContent ( 'Button Clicked' )
0 commit comments