terriajs
Version:
Geospatial data visualization platform.
31 lines (29 loc) • 1.26 kB
text/typescript
import Terria from "../../lib/Models/Terria";
import ViewState from "../../lib/ReactViewModels/ViewState";
import Icon from "../../lib/Styled/Icon";
import * as ViewingControlsMenu from "../../lib/ViewModels/ViewingControlsMenu";
import SimpleCatalogItem from "../Helpers/SimpleCatalogItem";
describe("ViewingControlsMenu", function () {
describe("addMenuItem", function () {
it("adds the menu item generator function to `viewState.globalViewingControlOptions` array", function () {
const terria = new Terria();
const viewState = new ViewState({
terria,
catalogSearchProvider: undefined
});
expect(viewState.globalViewingControlOptions.length).toEqual(0);
const generateFunction = () => ({
name: "View more details",
icon: Icon.GLYPHS.eye,
onClick: () => {}
});
const simpleItem = new SimpleCatalogItem("simple", terria);
ViewingControlsMenu.addMenuItem(viewState, generateFunction);
expect(viewState.globalViewingControlOptions.length).toEqual(1);
// Check the viewing control name is the same as the one we created
expect(
viewState.globalViewingControlOptions[0](simpleItem)?.name
).toEqual("View more details");
});
});
});