UNPKG

@gooddata/gooddata-js

Version:
46 lines (43 loc) 4.35 kB
// (C) 2007-2020 GoodData Corporation import * as measures from "./fixtures/MeasureConverter.visObj.fixtures"; import * as afm from "./fixtures/MeasureConverter.afm.fixtures"; import MeasureConverter from "../MeasureConverter"; import { VisualizationObject } from "@gooddata/typings"; import IMeasure = VisualizationObject.IMeasure; function addFormat(measure: IMeasure, format: string = "$#,##0 custom") { return { measure: { ...measure.measure, format, }, }; } describe("convertMeasure", () => { it.each` testCase | inputVizObjMeasure | outputAfmMeasure ${"simple measures defined by URI"} | ${measures.simpleMeasureWithUri} | ${afm.simpleMeasureWithUri} ${"simple measure defined by identifier"} | ${measures.simpleMeasureWithIdentifiers} | ${afm.simpleMeasureWithIdentifiers} ${"simple measure, keeping custom format"} | ${addFormat(measures.simpleMeasureWithUri)} | ${afm.simpleMeasureWithFormat} ${"measure with filters"} | ${measures.measureWithFilters} | ${afm.measureWithFilters} ${"renamed measure"} | ${measures.renamedMeasure} | ${afm.renamedMeasure} ${"fact-based measure, not adding default format"} | ${measures.factBasedMeasure} | ${afm.factBasedMeasure} ${"fact-based measure, keeping custom format"} | ${addFormat(measures.factBasedMeasure)} | ${afm.factBasedMeasureWithCustomFormat} ${"fact-based measure in %, adding default format"} | ${measures.factBasedMeasureInPercent} | ${afm.factBasedMeasureInPercent} ${"fact-based measure in %, keeping custom format"} | ${addFormat(measures.factBasedMeasureInPercent)} | ${afm.factBasedMeasureInPercentWithCustomFormat} ${"attribute-based measure, adding default format"} | ${measures.attributeBasedMeasure} | ${afm.attributeBasedMeasure} ${"attribute-based measure, keeping custom format"} | ${addFormat(measures.attributeBasedMeasure)} | ${afm.attributeBasedMeasureWithCustomFormat} ${"attribute-based measure in %, adding default format"} | ${measures.attributeBasedMeasureInPercent} | ${afm.attributeBasedMeasureInPercent} ${"attribute-based measure in %, keeping custom format"} | ${addFormat(measures.attributeBasedMeasureInPercent)} | ${afm.attributeBasedMeasureInPercentWithCustomFormat} ${"POP measure, not adding default format"} | ${measures.popMeasure} | ${afm.popMeasure} ${"POP measure, keeping default format"} | ${addFormat(measures.popMeasure)} | ${afm.popMeasureWithCustomFormat} ${"previous period measure, not adding default format"} | ${measures.previousPeriodMeasure} | ${afm.previousPeriodMeasure} ${"measure with show in percent, adding default format"} | ${measures.showInPercentMeasure} | ${afm.showInPercentMeasure} ${"measure with show in percent, keeping custom format"} | ${addFormat(measures.showInPercentMeasure)} | ${afm.showInPercentWithCustomFormat} ${"arithmetic measure, not adding default format"} | ${measures.arithmeticMeasure} | ${afm.arithmeticMeasure} ${"arithmetic measure, keeping custom format"} | ${addFormat(measures.arithmeticMeasure)} | ${afm.arithmeticMeasureWithCustomFormat} ${"arithmetic measure-change, adding default format"} | ${measures.arithmeticMeasureChange} | ${afm.arithmeticMeasureChange} ${"arithmetic measure-change, keeping custom format"} | ${addFormat(measures.arithmeticMeasureChange)} | ${afm.arithmeticMeasureWithChangeOperatorAndCustomFormat} `(`should convert $testCase`, ({ inputVizObjMeasure, outputAfmMeasure }) => { expect(MeasureConverter.convertMeasure(inputVizObjMeasure)).toEqual(outputAfmMeasure); }); });