import { screen, waitFor } from "@testing-library/react"; import Terria from "../../lib/Models/Terria"; import ViewState from "../../lib/ReactViewModels/ViewState"; import Tool from "../../lib/ReactViews/Tools/Tool"; import { renderWithContexts } from "./withContext"; const TestComponent = () =>
Test hello
; describe("Tool", function () { let viewState: ViewState; beforeEach(function () { const terria = new Terria(); viewState = new ViewState({ terria, catalogSearchProvider: undefined }); }); it("renders the item returned by getToolComponent", async function () { renderWithContexts( TestComponent as any} />, viewState ); await waitFor(() => expect(screen.getByText("Test hello")).toBeVisible()); }); it("renders the promised item returned by getToolComponent", async function () { renderWithContexts( Promise.resolve(TestComponent as any)} />, viewState ); await waitFor(() => expect(screen.getByText("Test hello")).toBeVisible()); }); });