diff --git a/src/resources/user_media_statistics.test.tsx b/src/resources/user_media_statistics.test.tsx new file mode 100644 index 0000000..5fb31e4 --- /dev/null +++ b/src/resources/user_media_statistics.test.tsx @@ -0,0 +1,140 @@ +import { render, screen, fireEvent } from "@testing-library/react"; +import resource, { UserMediaStatsList, ListActions } from "./user_media_statistics"; + +const { + mockedDataTable, + mockedCreatePath, + mockedUseListContext, + MockNumberField, + MockTextField, +} = vi.hoisted(() => { + const MockNumberField = ({ source }) => {source}; + const MockTextField = ({ source }) => {source}; + return { + mockedDataTable: vi.fn(({ children, rowClick }) =>
rowClick("test-id")}>{children}
), + mockedCreatePath: vi.fn(), + mockedUseListContext: vi.fn(), + MockNumberField, + MockTextField + }; +}); + +vi.mock("react-admin", async importOriginal => { + const actual = await importOriginal(); + return { + ...actual, + List: ({ children, actions, filters, pagination, sort }) => ( +
+ {actions} + {filters} + {children} + {pagination} +
+
+ ), + DataTable: Object.assign(mockedDataTable, { + Col: ({ source }) => { + if (source === 'media_count' || source === 'media_length') { + return ; + } + return ; + }, + }), + NumberField: MockNumberField, + TextField: MockTextField, + SearchInput: () =>
, + Pagination: () =>
, + TopToolbar: ({ children }) =>
{children}
, + ExportButton: ({ disabled }) =>