import { render, screen } from "@testing-library/react";
import { ThemeProvider } from "styled-components";
import { terriaTheme } from "../../../../../lib/ReactViews/StandardUserInterface";
import Terria from "../../../../../lib/Models/Terria";
import ViewState from "../../../../../lib/ReactViewModels/ViewState";
import VideoGuide from "../../../../../lib/ReactViews/Map/Panels/HelpPanel/VideoGuide";
import { runInAction } from "mobx";
describe("VideoGuide", function () {
let terria: Terria;
let viewState: ViewState;
const videoName = "testVideo";
beforeEach(function () {
terria = new Terria({
baseUrl: "./"
});
viewState = new ViewState({
terria: terria,
catalogSearchProvider: undefined
});
});
it("renders when videoGuideVisible is set to its videoName", function () {
runInAction(() => {
viewState.setVideoGuideVisible(videoName);
});
render(
);
expect(screen.getByTitle(videoName)).toBeVisible();
expect(screen.getByTitle(videoName)).toHaveAttribute("src", "some.url");
});
it("does not render when videoGuideVisible is an empty string", function () {
runInAction(() => {
viewState.setVideoGuideVisible("");
});
render(
);
expect(screen.queryByTitle(videoName)).not.toBeInTheDocument();
});
it("does not render when videoGuideVisible is a different string", function () {
runInAction(() => {
viewState.setVideoGuideVisible("someRandomString");
});
render(
);
expect(screen.queryByTitle(videoName)).not.toBeInTheDocument();
});
});