/* Copyright 2026 Marimo. All rights reserved. */ import { render, screen } from "@testing-library/react"; import { Provider } from "jotai"; import { describe, expect, it, vi } from "vitest"; import { TooltipProvider } from "@/components/ui/tooltip"; import type { GetRowResult } from "@/plugins/impl/DataTablePlugin"; import type { FieldTypesWithExternalType } from "../../types"; import { RowViewerPanel } from "../row-viewer"; const renderWithProviders = (component: React.ReactNode) => { return render( {component} , ); }; describe("RowExpandedPanel", () => { const mockFieldTypes: FieldTypesWithExternalType = [ ["name", ["string", "string"]], ["age", ["number", "number"]], ]; const mockGetRow = vi .fn() .mockImplementation((rowIdx: number): Promise => { const mockData = [ { name: "John", age: 30 }, { name: "Jane", age: 25 }, { name: "Alice", age: 35 }, ]; return Promise.resolve({ rows: [mockData[rowIdx]] }); }); const mockSetRowIdx = vi.fn(); it("renders data in row viewer panel", async () => { renderWithProviders( { // NO-OP }} />, ); // Wait for the data to load expect(await screen.findByText("John")).toBeInTheDocument(); expect(await screen.findByText("30")).toBeInTheDocument(); }); });