@@ -154,6 +154,37 @@ describe('useDataProvider', () => {
154
154
expect ( customVerb ) . toHaveBeenCalledWith ( 'posts' , { id : 1 } ) ;
155
155
} ) ;
156
156
157
+ it ( 'should accept calls to custom verbs with no arguments' , async ( ) => {
158
+ const UseCustomVerbWithNoArgument = ( { onSuccess } ) => {
159
+ const [ data , setData ] = useState ( ) ;
160
+ const [ error , setError ] = useState ( ) ;
161
+ const dataProvider = useDataProvider ( ) ;
162
+ useEffect ( ( ) => {
163
+ dataProvider
164
+ . customVerb ( )
165
+ . then ( res => setData ( res . data ) )
166
+ . catch ( e => setError ( e ) ) ;
167
+ } , [ dataProvider , onSuccess ] ) ;
168
+ if ( error ) return < div data-testid = "error" > { error . message } </ div > ;
169
+ if ( data )
170
+ return < div data-testid = "data" > { JSON . stringify ( data ) } </ div > ;
171
+ return < div data-testid = "loading" > loading</ div > ;
172
+ } ;
173
+ const customVerb = jest . fn ( ( ) => Promise . resolve ( { data : null } ) ) ;
174
+ const dataProvider = { customVerb } ;
175
+ renderWithRedux (
176
+ < DataProviderContext . Provider value = { dataProvider } >
177
+ < UseCustomVerbWithNoArgument />
178
+ </ DataProviderContext . Provider >
179
+ ) ;
180
+ // wait for the dataProvider to return
181
+ await act ( async ( ) => {
182
+ await new Promise ( resolve => setTimeout ( resolve ) ) ;
183
+ } ) ;
184
+
185
+ expect ( customVerb ) . toHaveBeenCalledWith ( ) ;
186
+ } ) ;
187
+
157
188
it ( 'should accept custom arguments for custom verbs' , async ( ) => {
158
189
const customVerb = jest . fn ( ( ) => Promise . resolve ( { data : null } ) ) ;
159
190
const dataProvider = { customVerb } ;
0 commit comments