terriajs
Version:
Geospatial data visualization platform.
58 lines (48 loc) • 2 kB
text/typescript
import { configure } from "mobx";
import Terria from "../../../../lib/Models/Terria";
import ThreddsCatalogGroup from "../../../../lib/Models/Catalog/CatalogGroups/ThreddsCatalogGroup";
import i18next from "i18next";
import CatalogGroup from "../../../../lib/Models/Catalog/CatalogGroup";
import WebMapServiceCatalogGroup from "../../../../lib/Models/Catalog/Ows/WebMapServiceCatalogGroup";
configure({
enforceActions: "observed",
computedRequiresReaction: true
});
describe("ThreddsCatalogGroup", function () {
let terria: Terria;
let threddsCatalogGroup: ThreddsCatalogGroup;
beforeEach(async function () {
terria = new Terria({
baseUrl: "./"
});
threddsCatalogGroup = new ThreddsCatalogGroup("test", terria);
const url = `${window.location.origin}/test/thredds/catalog.xml`;
threddsCatalogGroup.setTrait("definition", "url", url);
await threddsCatalogGroup.loadMembers();
});
it("has a type and typeName", function () {
expect(threddsCatalogGroup.type).toBe("thredds-group");
expect(threddsCatalogGroup.typeName).toBe(
i18next.t("models.thredds.nameGroup")
);
});
it("properly creates members ", async function () {
expect(threddsCatalogGroup.members).toBeDefined();
expect(threddsCatalogGroup.members.length).toBe(3);
const member0 = threddsCatalogGroup.memberModels[0] as CatalogGroup;
expect(member0.name).toBe("Some Catalog 1");
expect(member0.type).toBe("thredds-group");
await member0.loadMembers();
expect(member0.members.length).toBe(1);
const member1 = threddsCatalogGroup.memberModels[1] as CatalogGroup;
expect(member1.name).toBe("Some Catalog 2");
expect(member1.type).toBe("thredds-group");
await member1.loadMembers();
expect(member1.members.length).toBe(2);
const member2 = threddsCatalogGroup
.memberModels[2] as WebMapServiceCatalogGroup;
expect(member2.name).toBe(
"eReefs GBR4 SHOC Model v1.85 Results for 2016-06"
);
});
});