import { render } from "@testing-library/react"; import Terria from "../../../lib/Models/Terria"; import ViewState from "../../../lib/ReactViewModels/ViewState"; import WorkflowPanel from "../../../lib/ReactViews/Workflow/WorkflowPanel"; describe("WorkflowPanel", function () { let terria: Terria; let viewState: ViewState; beforeEach(function () { terria = new Terria({ baseUrl: "./" }); terria.configParameters.regionMappingDefinitionsUrl = "./data/regionMapping.json"; viewState = new ViewState({ terria, catalogSearchProvider: undefined }); }); it("sets isWorkflowPanelActive when opened", function () { expect(viewState.terria.isWorkflowPanelActive).toBe(false); render( {}} > children ); expect(viewState.terria.isWorkflowPanelActive).toBe(true); }); it("unsets isWorkflowPanelActive sidepanel when closed", async function () { const { unmount } = render( {}} > test ); expect(viewState.terria.isWorkflowPanelActive).toBe(true); unmount(); // Wait for the unmount to complete, this will be properly fixed as part of testing environment improvement setTimeout(() => { expect(viewState.terria.isWorkflowPanelActive).toBe(false); }, 0); }); });