File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
packages/ra-core/src/controller/button Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -52,4 +52,49 @@ describe('useDeleteController', () => {
5252 } )
5353 ) ;
5454 } ) ;
55+ it ( 'should allow to override the record and the resource from closest context providers' , async ( ) => {
56+ const dataProvider = testDataProvider ( {
57+ delete : jest . fn ( ( ressource , params ) => {
58+ return Promise . resolve ( { data : params ?. previousData } ) ;
59+ } ) ,
60+ } ) ;
61+
62+ const MockComponent = ( ) => {
63+ const { handleDelete } = useDeleteController ( {
64+ resource : 'comments' ,
65+ record : { id : 2 } ,
66+ mutationMode : 'pessimistic' ,
67+ } ) ;
68+ return < button onClick = { handleDelete } > Delete</ button > ;
69+ } ;
70+
71+ render (
72+ < TestMemoryRouter >
73+ < CoreAdminContext dataProvider = { dataProvider } >
74+ < Routes >
75+ < Route
76+ path = "/"
77+ element = {
78+ < ResourceContextProvider value = "posts" >
79+ < RecordContextProvider value = { { id : 1 } } >
80+ < MockComponent />
81+ </ RecordContextProvider >
82+ </ ResourceContextProvider >
83+ }
84+ />
85+ </ Routes >
86+ </ CoreAdminContext >
87+ </ TestMemoryRouter >
88+ ) ;
89+
90+ const button = await screen . findByText ( 'Delete' ) ;
91+ fireEvent . click ( button ) ;
92+
93+ await waitFor ( ( ) =>
94+ expect ( dataProvider . delete ) . toHaveBeenCalledWith ( 'comments' , {
95+ id : 2 ,
96+ previousData : { id : 2 } ,
97+ } )
98+ ) ;
99+ } ) ;
55100} ) ;
You can’t perform that action at this time.
0 commit comments