1
1
import { FutureArticleResource } from '__tests__/new' ;
2
2
import nock from 'nock' ;
3
- import { useCache } from '@rest-hooks/core' ;
3
+ import { useCache , useResource } from '@rest-hooks/core' ;
4
4
5
5
// relative imports to avoid circular dependency in tsconfig references
6
6
import {
@@ -24,6 +24,29 @@ export const createPayload = {
24
24
tags : [ 'a' , 'best' , 'react' ] ,
25
25
} ;
26
26
27
+ export const nested = [
28
+ {
29
+ id : 5 ,
30
+ title : 'hi ho' ,
31
+ content : 'whatever' ,
32
+ tags : [ 'a' , 'best' , 'react' ] ,
33
+ author : {
34
+ id : 23 ,
35
+ username : 'bob' ,
36
+ } ,
37
+ } ,
38
+ {
39
+ id : 3 ,
40
+ title : 'the next time' ,
41
+ content : 'whatever' ,
42
+ author : {
43
+ id : 23 ,
44
+ username : 'charles' ,
45
+
46
+ } ,
47
+ } ,
48
+ ] ;
49
+
27
50
for ( const makeProvider of [ makeCacheProvider , makeExternalCacheProvider ] ) {
28
51
describe ( `${ makeProvider . name } => <Provider />` , ( ) => {
29
52
// TODO: add nested resource test case that has multiple partials to test merge functionality
@@ -50,6 +73,9 @@ for (const makeProvider of [makeCacheProvider, makeExternalCacheProvider]) {
50
73
. reply ( 403 , { } )
51
74
. get ( `/article-cooler/666` )
52
75
. reply ( 200 , '' )
76
+ . get ( `/article-cooler/` )
77
+ . reply ( 200 , nested )
78
+
53
79
. post ( `/article-cooler/` )
54
80
. reply ( 200 , createPayload ) ;
55
81
@@ -105,7 +131,7 @@ for (const makeProvider of [makeCacheProvider, makeExternalCacheProvider]) {
105
131
} ;
106
132
} ) ;
107
133
108
- /* it('should update on create', async () => {
134
+ it ( 'should update on create' , async ( ) => {
109
135
const { result, waitForNextUpdate } = renderRestHook ( ( ) => {
110
136
const articles = useResource ( FutureArticleResource . list ( ) , { } ) ;
111
137
const fetch = useFetcher ( ) ;
@@ -115,7 +141,7 @@ for (const makeProvider of [makeCacheProvider, makeExternalCacheProvider]) {
115
141
await result . current . fetch ( FutureArticleResource . create ( ) , {
116
142
id : 1 ,
117
143
} ) ;
118
- expect(result.current.articles.map(({ id }) => id)).toEqual([5, 3, 1 ]);
119
- });*/
144
+ expect ( result . current . articles . map ( ( { id } ) => id ) ) . toEqual ( [ 1 , 5 , 3 ] ) ;
145
+ } ) ;
120
146
} ) ;
121
147
}
0 commit comments