{"record":{"id":"94ed7ee8cea7c73c","repo":"marmelab/react-admin","slug":"getmanyreference-is-not-implemented","errorCode":null,"errorMessage":"getManyReference is not implemented","messagePattern":"getManyReference is not implemented","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/ra-core/src/dataProvider/testDataProvider.ts","lineNumber":29,"sourceCode":"\nconst defaultTestDataProvider: DataProvider = {\n    create: async () => {\n        throw new Error('create is not implemented');\n    },\n    delete: async () => {\n        throw new Error('delete not implemented');\n    },\n    deleteMany: async () => {\n        throw new Error('deleteMany is not implemented');\n    },\n    getList: async () => {\n        throw new Error('getList is not implemented');\n    },\n    getMany: async () => {\n        throw new Error('getMany is not implemented');\n    },\n    getManyReference: async () => {\n        throw new Error('getManyReference is not implemented');\n    },\n    getOne: async () => {\n        throw new Error('getOne is not implemented');\n    },\n    update: async () => {\n        throw new Error('update not implemented');\n    },\n    updateMany: async () => {\n        throw new Error('updateMany not implemented');\n    },\n};\nexport const testDataProvider = (\n    overrides?: Partial<DataProvider>\n): DataProvider => ({\n    ...defaultTestDataProvider,\n    ...overrides,\n});\n","sourceCodeStart":11,"sourceCodeEnd":47,"githubUrl":"https://github.com/marmelab/react-admin/blob/051f511bb0afb5ea565c2d3728bf4dab0a6fa5e0/packages/ra-core/src/dataProvider/testDataProvider.ts#L11-L47","documentation":"testDataProvider's default getManyReference throws unless overridden. getManyReference serves foreign-key lists (ReferenceManyField, useGetManyReference), so this error means a test rendered such a component without stubbing it.","triggerScenarios":"Rendering <ReferenceManyField> or calling useGetManyReference in tests using testDataProvider() without a getManyReference override.","commonSituations":"Testing comments-below-a-post style UI; stubbing getList but forgetting the reference variant; integration tests mounting Show pages containing ReferenceManyField.","solutions":["Stub getManyReference: testDataProvider({ getManyReference: async () => ({ data: [...], total: n }) })","Use mockProvider with the related resource's records","Render the related list with mocked children or mock useGetManyReference at the hook level"],"exampleFix":"// before\nconst dataProvider = testDataProvider();\n// after\nconst dataProvider = testDataProvider({\n  getManyReference: async () => ({ data: [{ id: 1, post_id: 9 }], total: 1 }),\n});","handlingStrategy":"try-catch","validationCode":"if (!dataProviderOverrides.getManyReference) throw new Error('test must stub getManyReference');","typeGuard":null,"tryCatchPattern":"try { await dataProvider.getManyReference(r, params); } catch (e) { /* stub getManyReference */ throw e; }","preventionTips":["Stub getManyReference when tests mount ReferenceManyField","Use mockProvider with related-resource fixtures","Check child components of Show/Edit for reference queries when stubbing"],"tags":["react-admin","testing","data-provider"],"backgroundTag":"unimplemented-method","analyzedSha":"051f511bb0afb5ea565c2d3728bf4dab0a6fa5e0","analyzedAt":"2026-08-30T02:28:14.926Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}