// (C) 2007-2019 GoodData Corporation import { isAdHocMeasure } from "../headers"; describe("headers", () => { describe("isAdHocMeasure", () => { it("should return TRUE for ad hoc measure", () => { expect( isAdHocMeasure({ localIdentifier: "popMeasure", definition: { popMeasure: { measureIdentifier: "simpleMeasure", popAttribute: { identifier: "attr.date.month", }, }, }, }), ).toBeTruthy(); expect( isAdHocMeasure({ localIdentifier: "previousPeriodMeasure", definition: { previousPeriodMeasure: { measureIdentifier: "simpleMeasure", dateDataSets: [ { dataSet: { identifier: "attr.date.month", }, periodsAgo: 1, }, ], }, }, }), ).toBeTruthy(); expect( isAdHocMeasure({ localIdentifier: "simpleMeasure", definition: { measure: { item: { uri: "/gdc/md/projectId/obj/1234", }, filters: [ { relativeDateFilter: { dataSet: { uri: "/gdc/md/projectId/obj/1234", }, granularity: "GDC.time.year", from: -2, to: 0, }, }, ], }, }, }), ).toBeTruthy(); expect( isAdHocMeasure({ localIdentifier: "simpleMeasure", definition: { measure: { aggregation: "count", item: { uri: "/gdc/md/projectId/obj/1234", }, }, }, }), ).toBeTruthy(); expect( isAdHocMeasure({ localIdentifier: "simpleMeasure", definition: { measure: { computeRatio: true, item: { uri: "/gdc/md/projectId/obj/1234", }, }, }, }), ).toBeTruthy(); }); it("should return FALSE for non ad hoc measure", () => { expect( isAdHocMeasure({ localIdentifier: "simpleMeasure", definition: { measure: { item: { uri: "/gdc/md/projectId/obj/1234", }, }, }, }), ).toBeFalsy(); }); }); });