Mocking Data Provider
Hi. How can i mock data provider to return lists that i wanted?
I am testing with jest and its been 3 days i haven't solved this problem.
I am testing with jest and its been 3 days i haven't solved this problem.
<Refine/>. After you need to pass mock data provider to <Refine/>.import { MockJSONServer, TestWrapper } from "@test";
<TestWrapper> in here:import { MockJSONServer, TestWrapper } from "@test";
<TestWrapper>. When you render your hook in test environment, the hook needs a wrapper which contains refine providers. https://github.com/refinedev/refine/issues/3432#issuecomment-1398627534

<TestWrapper> like here?
MockJSONServer .MockRouterProvider




<Refine/><Refine/><TestWrapper><TestWrapper><TestWrapper>const MockDataProvider = () => {
return {
default: {
create: () => Promise.resolve({ data: posts[0] }),
createMany: () => Promise.resolve({ data: posts }),
deleteOne: () => Promise.resolve({ data: posts[0] }),
deleteMany: () => Promise.resolve({ data: [] }),
getList: () => Promise.resolve({ data: posts, total: 2 }),
getMany: () => Promise.resolve({ data: [...posts] }),
getOne: () => Promise.resolve({ data: posts[0] }),
update: () => Promise.resolve({ data: posts[0] }),
updateMany: () => Promise.resolve({ data: [] }),
getApiUrl: () => "https://api.fake-rest.refine.dev",
custom: () => Promise.resolve({ data: [...posts] }),
},
};
};import { TestWrapper } from '@testing-library/react';MockJSONServerMockRouterProviderlet d = render(
<CampaingList/>,
wrapper: TestWrapper({
dataProvider: MockDataProvider(),
})
)