import { render, screen } from "@testing-library/react"; import { runInAction } from "mobx"; import { ThemeProvider } from "styled-components"; import Terria from "../../lib/Models/Terria"; import ViewState from "../../lib/ReactViewModels/ViewState"; import { terriaTheme } from "../../lib/ReactViews/StandardUserInterface"; import { StyledHtmlRaw } from "../../lib/ReactViews/Map/Panels/HelpPanel/StyledHtml"; import registerCustomComponentTypes from "../../lib/ReactViews/Custom/registerCustomComponentTypes"; describe("StyledHtml", function () { let terria: Terria; let viewState: ViewState; beforeEach(function () { terria = new Terria({ baseUrl: "./" }); viewState = new ViewState({ terria: terria, catalogSearchProvider: undefined }); }); describe("with basic props", function () { it("mounts without problems", function () { render( ); expect( screen.getByText("something something spatial data mochi") ).toBeVisible(); }); it("creates TooltipWithButtonLauncher when there are terms to inject", function () { registerCustomComponentTypes(); const spatialDataTerm = { term: "spatial data", content: "data that is spatial, spluh" }; runInAction(() => { terria.updateParameters({ regionMappingDefinitionsUrl: "", initFragmentPaths: [], storyEnabled: false, helpContentTerms: [spatialDataTerm] }); }); render( ); expect( screen.getByRole("button", { name: "spatial data" }) ).toBeVisible(); }); }); });