// (C) 2007-2019 GoodData Corporation import { IMockProject, isKnownDisplayFormId, getAttributeElementsByDisplayForm, getAttributeByTitle, } from "../MockProject"; import { ISchema } from "../../schema/model/Schema"; import { buildProject } from "../../schema/builder"; describe("MockProject", () => { const schema: ISchema = { project: { title: "Testing project", identifier: "testingproject", }, groups: [ { attributes: [{ title: "Account", elements: ["Account 1"] }], }, ], }; const project: IMockProject = buildProject(schema); describe("isKnownDisplayFormId", () => { it("should return false if given id is not display form", () => { expect(isKnownDisplayFormId(project, "random.id")).toBe(false); }); it("should return true if given id is display form", () => { expect(isKnownDisplayFormId(project, "attr.account.df")).toBe(true); }); }); describe("getAttributeElementsByDisplayForm", () => { it("should return empty array by default", () => { expect(getAttributeElementsByDisplayForm(project, "random.id")).toEqual([]); }); it("should return list of elements for given display form", () => { expect(getAttributeElementsByDisplayForm(project, "attr.account.df")).toEqual( project.elements.get("attr.account"), ); }); }); describe("getAttributeByTitle", () => { it("should return undefined for nonexisting attribute", () => { expect(getAttributeByTitle(project, "random title")).toBeUndefined(); }); it("should return attribute by title", () => { expect(getAttributeByTitle(project, "Account").meta.title).toBe("Account"); }); }); });