UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

101 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const collapseHourlyMetrics_1 = require("./collapseHourlyMetrics"); const date_fns_1 = require("date-fns"); test('collapseHourlyMetrics', () => { const timestamp = (0, date_fns_1.startOfHour)(new Date()); const metricAX1 = { featureName: 'a', appName: 'x', environment: 'x', timestamp: (0, date_fns_1.addMinutes)(timestamp, 1), yes: 1, no: 11, }; const metricAX2 = { featureName: 'a', appName: 'x', environment: 'x', timestamp: (0, date_fns_1.addMinutes)(timestamp, 2), yes: 2, no: 12, }; const metricBX = { featureName: 'b', appName: 'x', environment: 'x', timestamp: (0, date_fns_1.addMinutes)(timestamp, 3), yes: 101, no: 1001, }; const metricBY = { featureName: 'b', appName: 'y', environment: 'y', timestamp: (0, date_fns_1.addMinutes)(timestamp, 4), yes: 102, no: 1002, }; expect((0, collapseHourlyMetrics_1.collapseHourlyMetrics)([metricAX1, metricAX2, metricBX, metricBY])).toEqual([ { featureName: 'a', appName: 'x', environment: 'x', timestamp, yes: 3, no: 23, }, { featureName: 'b', appName: 'x', environment: 'x', timestamp, yes: 101, no: 1001, }, { featureName: 'b', appName: 'y', environment: 'y', timestamp, yes: 102, no: 1002, }, ]); expect((0, collapseHourlyMetrics_1.collapseHourlyMetrics)([ metricAX1, metricAX1, metricAX2, metricAX2, metricBX, metricBX, metricBY, metricBY, ])).toEqual([ { featureName: 'a', appName: 'x', environment: 'x', timestamp, yes: 6, no: 46, }, { featureName: 'b', appName: 'x', environment: 'x', timestamp, yes: 202, no: 2002, }, { featureName: 'b', appName: 'y', environment: 'y', timestamp, yes: 204, no: 2004, }, ]); }); //# sourceMappingURL=collapseHourlyMetrics.test.js.map