mapillary-js
Version:
WebGL JavaScript library for displaying street level imagery from mapillary.com
84 lines (63 loc) • 3.2 kB
text/typescript
import * as ComponentController from "../../src/viewer/ComponentController";
import * as Container from "../../src/viewer/Container";
import * as Navigator from "../../src/viewer/Navigator";
import * as Observer from "../../src/viewer/Observer";
import { Viewer } from "../../src/viewer/Viewer";
import ContainerMockCreator from "../helper/ContainerMockCreator.spec";
import MockCreator from "../helper/MockCreator.spec";
import NavigatorMockCreator from "../helper/NavigatorMockCreator.spec";
describe("Viewer.ctor", () => {
it("should be definded", () => {
spyOn(Navigator, "Navigator").and.stub();
spyOn(Container, "Container").and.stub();
spyOn(Observer, "Observer").and.stub();
spyOn(ComponentController, "ComponentController").and.stub();
const viewer = new Viewer({ apiClient: "", container: "" });
expect(viewer).toBeDefined();
});
});
describe("Viewer.remove", () => {
it("should dispose internals", () => {
const navigatorMock = new NavigatorMockCreator().create();
const containerMock = new ContainerMockCreator().create();
const observerMock = new MockCreator()
.create(Observer.Observer, "Observer");
const controllerMock = new MockCreator()
.create(
ComponentController.ComponentController,
"ComponentController");
spyOn(Navigator, "Navigator").and.returnValue(navigatorMock);
spyOn(Container, "Container").and.returnValue(containerMock);
spyOn(Observer, "Observer").and.returnValue(observerMock);
spyOn(ComponentController, "ComponentController").and.returnValue(controllerMock);
const viewer = new Viewer({ apiClient: "", container: "" });
viewer.remove();
expect((<jasmine.Spy>navigatorMock.dispose).calls.count()).toBe(1);
expect((<jasmine.Spy>containerMock.remove).calls.count()).toBe(1);
expect((<jasmine.Spy>observerMock.dispose).calls.count()).toBe(1);
expect((<jasmine.Spy>controllerMock.remove).calls.count()).toBe(1);
});
it("should emit removed event", (done: Function) => {
const navigatorMock = new NavigatorMockCreator().create();
const containerMock = new ContainerMockCreator().create();
const observerMock = new MockCreator()
.create(Observer.Observer, "Observer");
const controllerMock = new MockCreator()
.create(
ComponentController.ComponentController,
"ComponentController");
spyOn(Navigator, "Navigator").and.returnValue(navigatorMock);
spyOn(Container, "Container").and.returnValue(containerMock);
spyOn(Observer, "Observer").and.returnValue(observerMock);
spyOn(ComponentController, "ComponentController").and.returnValue(controllerMock);
const viewer = new Viewer({ apiClient: "", container: "" });
viewer.on(
Viewer.removed,
(event: { type: string }): void => {
expect(event).toBeDefined();
expect(event.type).toBe(Viewer.removed);
done();
});
viewer.remove();
});
});