terriajs
Version:
Geospatial data visualization platform.
85 lines (74 loc) • 2.56 kB
text/typescript
import WebMapTileServiceCatalogGroup from "../../../../lib/Models/Catalog/Ows/WebMapTileServiceCatalogGroup";
import Terria from "../../../../lib/Models/Terria";
import { runInAction } from "mobx";
import i18next from "i18next";
describe("WebMapTileServiceCatalogGroup", function () {
let terria: Terria;
let wmts: WebMapTileServiceCatalogGroup;
beforeEach(function () {
terria = new Terria();
wmts = new WebMapTileServiceCatalogGroup("test", terria);
});
it("has a type", function () {
expect(wmts.type).toBe("wmts-group");
});
it("derives getCapabilitiesUrl from url if getCapabilitiesUrl is not specifiied", function () {
wmts.setTrait("definition", "url", "http://www.example.com");
expect(wmts.url).toBeDefined();
expect(
wmts.getCapabilitiesUrl &&
wmts.getCapabilitiesUrl.indexOf(wmts.url || "undefined") === 0
).toBeTruthy();
});
describe("after loading capabilities", function () {
beforeEach(function () {
runInAction(() => {
wmts.setTrait("definition", "url", "test/WMTS/with_tilematrix.xml");
});
});
it("defines name", async function () {
await wmts.loadMetadata();
expect(wmts.name).toBe("Test WMTS");
});
it("doesn't override user set name", async function () {
const userDefinedName = "user defined name";
runInAction(() => {
wmts.setTrait("definition", "name", userDefinedName);
});
await wmts.loadMetadata();
expect(wmts.name).toBe(userDefinedName);
});
it("defines info", async function () {
await wmts.loadMetadata();
const abstract = i18next.t(
"models.webMapTileServiceCatalogGroup.abstract"
);
const accessConstraints = i18next.t(
"models.webMapTileServiceCatalogGroup.accessConstraints"
);
const fees = i18next.t("models.webMapTileServiceCatalogGroup.fees");
expect(wmts.info.map(({ name }) => name)).toEqual([
abstract,
accessConstraints,
fees
]);
expect(wmts.info.map(({ content }) => content)).toEqual([
"Datum. Of the test variety.",
"test",
"test"
]);
});
});
describe("load members", function () {
beforeEach(async function () {
runInAction(() => {
wmts.setTrait("definition", "url", "test/WMTS/with_tilematrix.xml");
});
await wmts.loadMembers();
});
it("loads", function () {
expect(wmts.members.length).toEqual(3);
expect(wmts.memberModels.length).toEqual(3);
});
});
});