1
1
import { it , describe , expect , afterEach } from 'vitest' ;
2
2
import { gray } from 'colorette' ;
3
- import { range } from 'lodash-es' ;
4
3
import { cleanup as cleanupMountedReactTrees , act , renderHook } from '@testing-library/react' ;
5
4
import { iterateFormatted , useAsyncIterMulti } from '../../src/index.js' ;
6
5
import { pipe } from '../utils/pipe.js' ;
@@ -26,34 +25,41 @@ describe('`useAsyncIterMulti` hook', () => {
26
25
expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
27
26
} ) ;
28
27
29
- it ( gray ( 'When given multiple `undefined`s, returns them as-are' ) , async ( ) => {
28
+ it ( gray ( 'When given multiple `undefined`s and `null`s , returns them as-are' ) , async ( ) => {
30
29
let timesRerendered = 0 ;
31
30
32
31
const renderedHook = renderHook ( ( ) => {
33
32
timesRerendered ++ ;
34
- return useAsyncIterMulti ( [ ] ) ;
33
+ return useAsyncIterMulti ( [ undefined , null , undefined , null ] ) ;
35
34
} ) ;
36
35
37
36
await act ( ( ) => { } ) ;
38
37
39
38
expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
40
- expect ( renderedHook . result . current ) . toStrictEqual ( [ ] ) ;
39
+ expect ( renderedHook . result . current ) . toStrictEqual (
40
+ [ undefined , null , undefined , null ] . map ( value => ( {
41
+ value,
42
+ pendingFirst : false ,
43
+ done : false ,
44
+ error : undefined ,
45
+ } ) )
46
+ ) ;
41
47
} ) ;
42
48
43
49
it ( gray ( 'When given multiple non-iterables, returns them as-are' ) , async ( ) => {
44
50
let timesRerendered = 0 ;
45
51
46
52
const renderedHook = renderHook ( ( ) => {
47
53
timesRerendered ++ ;
48
- return useAsyncIterMulti ( [ undefined , undefined , undefined ] ) ;
54
+ return useAsyncIterMulti ( [ 'a' , 'b' , 'c' ] ) ;
49
55
} ) ;
50
56
51
57
await act ( ( ) => { } ) ;
52
58
53
59
expect ( timesRerendered ) . toStrictEqual ( 1 ) ;
54
60
expect ( renderedHook . result . current ) . toStrictEqual (
55
- range ( 3 ) . map ( ( ) => ( {
56
- value : undefined ,
61
+ [ 'a' , 'b' , 'c' ] . map ( value => ( {
62
+ value,
57
63
pendingFirst : false ,
58
64
done : false ,
59
65
error : undefined ,
0 commit comments