From 661b73e770503636947df9d786249984cab2de65 Mon Sep 17 00:00:00 2001 From: Benson Maruchu Date: Tue, 15 Oct 2019 10:07:22 +0300 Subject: [PATCH] test(util): refactor to remove duplicated codes --- test/unit/util.spec.js | 1525 ++++++++++++---------------------------- 1 file changed, 457 insertions(+), 1068 deletions(-) diff --git a/test/unit/util.spec.js b/test/unit/util.spec.js index eb7ef0f..64068a7 100644 --- a/test/unit/util.spec.js +++ b/test/unit/util.spec.js @@ -1,131 +1,315 @@ import { expect } from 'chai'; +import { omit } from 'lodash'; import { normalizeTime, - normalizeObjectTimes, normalizeMetricTimes, prepareReportResponse, getFacet, } from '../../src/util'; describe('Utils', () => { - describe('normalizeTime', () => { - it('should return human readable parsed object', () => { - const timeInMilliseconds = 1000; - const expectedOutput = { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 1, - }; - - expect(normalizeTime(timeInMilliseconds)).to.be.eql(expectedOutput); - }); - - it('should handle negative time inputs', () => { - const timeInMilliseconds = -1000; - const expectedOutput = { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 1, - }; - - expect(normalizeTime(timeInMilliseconds)).to.be.eql(expectedOutput); - }); - - it('should handle null value input', () => { - const expectedOutput = { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }; - - expect(normalizeTime(null)).to.be.eql(expectedOutput); - }); - }); - - describe('normalizeObjectTimes', () => { - it('should parse object times to human readable times', () => { - const input = { - count: 100, - averageResolveTime: 1000, - averageAttendTime: 2000, - }; - const expectedOutput = { - count: 100, - averageAttendTime: { + const fakeResults = { + overall: { + count: 1, + pending: 20, + resolved: 10, + approveTime: { + average: { days: 0, hours: 0, microseconds: 0, milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 2, + seconds: 0, }, - averageResolveTime: { + maximum: { days: 0, hours: 0, microseconds: 0, milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 1, + seconds: 0, }, - }; - - expect(normalizeObjectTimes(input)).to.be.eql(expectedOutput); - }); - }); - - describe('normalizeMetricTimes', () => { - it('should normalize metrics times and restructure object results', () => { - const aggregationResult = { + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + assignTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + attendTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + completeTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + confirmTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + lateTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + resolveTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + verifyTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + callTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + workTime: { + average: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + maximum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + minimum: { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, + }, + }, + }, + jurisdictions: [ + { count: 1, + name: 'Area', pending: 20, - resolved: 2, - maximumAssignTime: null, - minimumAssignTime: null, - averageAssignTime: null, - maximumAttendTime: 7813, - minimumAttendTime: 7813, - averageAttendTime: 7813, - maximumCompleteTime: 0, - minimumCompleteTime: 0, - averageCompleteTime: 0, - maximumVerifyTime: 0, - minimumVerifyTime: 0, - averageVerifyTime: 0, - maximumApproveTime: 0, - minimumApproveTime: 0, - averageApproveTime: 0, - maximumResolveTime: 79624349, - minimumResolveTime: 18750, - averageResolveTime: 29821770.333333332, - maximumLateTime: 72424414, - minimumLateTime: 72424414, - averageLateTime: 72424414, - maximumConfirmTime: 7199946, - minimumConfirmTime: 7199946, - averageConfirmTime: 7199946, - maximumCallTime: 0, - minimumCallTime: 0, - averageCallTime: 0, - maximumWorkTime: 0, - minimumWorkTime: 0, - averageWorkTime: 0, - }; - - const expectedOutput = { + resolved: 10, approveTime: { average: { days: 0, @@ -189,28 +373,28 @@ describe('Utils', () => { days: 0, hours: 0, microseconds: 0, - milliseconds: 813, + milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 7, + seconds: 0, }, maximum: { days: 0, hours: 0, microseconds: 0, - milliseconds: 813, + milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 7, + seconds: 0, }, minimum: { days: 0, hours: 0, microseconds: 0, - milliseconds: 813, + milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 7, + seconds: 0, }, }, completeTime: { @@ -245,90 +429,89 @@ describe('Utils', () => { confirmTime: { average: { days: 0, - hours: 1, + hours: 0, microseconds: 0, - milliseconds: 946, - minutes: 59, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 59, + seconds: 0, }, maximum: { days: 0, - hours: 1, + hours: 0, microseconds: 0, - milliseconds: 946, - minutes: 59, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 59, + seconds: 0, }, minimum: { days: 0, - hours: 1, + hours: 0, microseconds: 0, - milliseconds: 946, - minutes: 59, + milliseconds: 0, + + minutes: 0, nanoseconds: 0, - seconds: 59, + seconds: 0, }, }, - count: 1, lateTime: { average: { days: 0, - hours: 20, + hours: 0, microseconds: 0, - milliseconds: 414, - minutes: 7, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 4, + seconds: 0, }, maximum: { days: 0, - hours: 20, + hours: 0, microseconds: 0, - milliseconds: 414, - minutes: 7, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 4, + seconds: 0, }, minimum: { days: 0, - hours: 20, + hours: 0, microseconds: 0, - milliseconds: 414, - minutes: 7, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 4, + seconds: 0, }, }, - pending: 20, resolveTime: { average: { days: 0, - hours: 8, - microseconds: 333, - milliseconds: 770, - minutes: 17, - nanoseconds: 333, - seconds: 1, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, }, maximum: { days: 0, - hours: 22, + hours: 0, microseconds: 0, - milliseconds: 349, - minutes: 7, + milliseconds: 0, + minutes: 0, nanoseconds: 0, - seconds: 4, + seconds: 0, }, minimum: { days: 0, hours: 0, microseconds: 0, - milliseconds: 750, + milliseconds: 0, minutes: 0, nanoseconds: 0, - seconds: 18, + seconds: 0, }, }, verifyTime: { @@ -418,9 +601,97 @@ describe('Utils', () => { seconds: 0, }, }, - resolved: 2, + }, + ], + workspaces: [{ name: 'Call', count: 1 }], + }; + + describe('normalizeTime', () => { + it('should return human readable parsed object', () => { + const timeInMilliseconds = 1000; + const expectedOutput = { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 1, + }; + + expect(normalizeTime(timeInMilliseconds)).to.be.eql(expectedOutput); + }); + + it('should handle negative time inputs', () => { + const timeInMilliseconds = -1000; + const expectedOutput = { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 1, + }; + + expect(normalizeTime(timeInMilliseconds)).to.be.eql(expectedOutput); + }); + + it('should handle null value input', () => { + const expectedOutput = { + days: 0, + hours: 0, + microseconds: 0, + milliseconds: 0, + minutes: 0, + nanoseconds: 0, + seconds: 0, }; + expect(normalizeTime(null)).to.be.eql(expectedOutput); + }); + }); + + describe('normalizeMetricTimes', () => { + it('should normalize metrics times and restructure object results', () => { + const aggregationResult = { + count: 1, + pending: 20, + resolved: 10, + maximumAssignTime: null, + minimumAssignTime: null, + averageAssignTime: null, + maximumAttendTime: 0, + minimumAttendTime: 0, + averageAttendTime: 0, + maximumCompleteTime: 0, + minimumCompleteTime: 0, + averageCompleteTime: 0, + maximumVerifyTime: 0, + minimumVerifyTime: 0, + averageVerifyTime: 0, + maximumApproveTime: 0, + minimumApproveTime: 0, + averageApproveTime: 0, + maximumResolveTime: 0, + minimumResolveTime: 0, + averageResolveTime: 0, + maximumLateTime: 0, + minimumLateTime: 0, + averageLateTime: 0, + maximumConfirmTime: 0, + minimumConfirmTime: 0, + averageConfirmTime: 0, + maximumCallTime: 0, + minimumCallTime: 0, + averageCallTime: 0, + maximumWorkTime: 0, + minimumWorkTime: 0, + averageWorkTime: 0, + }; + + const expectedOutput = fakeResults.overall; + expect(normalizeMetricTimes(aggregationResult)).to.be.eql(expectedOutput); }); }); @@ -431,298 +702,7 @@ describe('Utils', () => { const expectedOutput = { data: { items: [], - overall: { - approveTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - assignTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - attendTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - callTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - completeTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - confirmTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - lateTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - resolveTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - verifyTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - workTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - }, + overall: omit(fakeResults.overall, ['count', 'resolved', 'pending']), services: [], }, }; @@ -732,8 +712,8 @@ describe('Utils', () => { ); }); - it('should normalize aggregration results to response format', () => { - const aggregrationResults = [ + it('should normalize aggregation results to response format', () => { + const aggregationResults = [ { overall: [ { @@ -743,9 +723,9 @@ describe('Utils', () => { maximumAssignTime: null, minimumAssignTime: null, averageAssignTime: null, - maximumAttendTime: 7813, - minimumAttendTime: 7813, - averageAttendTime: 7813, + maximumAttendTime: 0, + minimumAttendTime: 0, + averageAttendTime: 0, maximumCompleteTime: 0, minimumCompleteTime: 0, averageCompleteTime: 0, @@ -755,21 +735,21 @@ describe('Utils', () => { maximumApproveTime: 0, minimumApproveTime: 0, averageApproveTime: 0, - maximumResolveTime: 79624349, - minimumResolveTime: 18750, - averageResolveTime: 29821770.333333332, - maximumLateTime: 72424414, - minimumLateTime: 72424414, - averageLateTime: 72424414, - maximumConfirmTime: 7199946, - minimumConfirmTime: 7199946, - averageConfirmTime: 7199946, + maximumResolveTime: 0, + minimumResolveTime: 0, + averageResolveTime: 0, + maximumLateTime: 0, + minimumLateTime: 0, + averageLateTime: 0, + maximumConfirmTime: 0, + minimumConfirmTime: 0, + averageConfirmTime: 0, maximumCallTime: 0, minimumCallTime: 0, averageCallTime: 0, - maximumWorkTime: null, - minimumWorkTime: null, - averageWorkTime: null, + maximumWorkTime: 0, + minimumWorkTime: 0, + averageWorkTime: 0, }, ], jurisdictions: [ @@ -781,9 +761,9 @@ describe('Utils', () => { maximumAssignTime: null, minimumAssignTime: null, averageAssignTime: null, - maximumAttendTime: 7813, - minimumAttendTime: 7813, - averageAttendTime: 7813, + maximumAttendTime: 0, + minimumAttendTime: 0, + averageAttendTime: 0, maximumCompleteTime: 0, minimumCompleteTime: 0, averageCompleteTime: 0, @@ -793,621 +773,30 @@ describe('Utils', () => { maximumApproveTime: 0, minimumApproveTime: 0, averageApproveTime: 0, - maximumResolveTime: 79624349, - minimumResolveTime: 18750, - averageResolveTime: 29821770.333333332, - maximumLateTime: 72424414, - minimumLateTime: 72424414, - averageLateTime: 72424414, - maximumConfirmTime: 7199946, - minimumConfirmTime: 7199946, - averageConfirmTime: 7199946, + maximumResolveTime: 0, + minimumResolveTime: 0, + averageResolveTime: 0, + maximumLateTime: 0, + minimumLateTime: 0, + averageLateTime: 0, + maximumConfirmTime: 0, + minimumConfirmTime: 0, + averageConfirmTime: 0, + maximumCallTime: 0, + minimumCallTime: 0, + averageCallTime: 0, + maximumWorkTime: 0, + minimumWorkTime: 0, + averageWorkTime: 0, }, ], workspaces: [{ name: 'Call', count: 1 }], }, ]; - const expectedOutput = { - data: { - overall: { - resolved: 10, - approveTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - assignTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - attendTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - }, - completeTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - confirmTime: { - average: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - maximum: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - minimum: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - }, - count: 1, - lateTime: { - average: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - maximum: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - minimum: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - }, - pending: 20, - resolveTime: { - average: { - days: 0, - hours: 8, - microseconds: 333, - milliseconds: 770, - minutes: 17, - nanoseconds: 333, - seconds: 1, - }, - maximum: { - days: 0, - hours: 22, - microseconds: 0, - milliseconds: 349, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 750, - minutes: 0, - nanoseconds: 0, - seconds: 18, - }, - }, - verifyTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - callTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - workTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - }, - jurisdictions: [ - { - count: 1, - name: 'Area', - resolved: 10, - approveTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - assignTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - attendTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 813, - minutes: 0, - nanoseconds: 0, - seconds: 7, - }, - }, - completeTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - confirmTime: { - average: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - maximum: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - minimum: { - days: 0, - hours: 1, - microseconds: 0, - milliseconds: 946, - minutes: 59, - nanoseconds: 0, - seconds: 59, - }, - }, - lateTime: { - average: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - maximum: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - minimum: { - days: 0, - hours: 20, - microseconds: 0, - milliseconds: 414, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - }, - pending: 20, - resolveTime: { - average: { - days: 0, - hours: 8, - microseconds: 333, - milliseconds: 770, - minutes: 17, - nanoseconds: 333, - seconds: 1, - }, - maximum: { - days: 0, - hours: 22, - microseconds: 0, - milliseconds: 349, - minutes: 7, - nanoseconds: 0, - seconds: 4, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 750, - minutes: 0, - nanoseconds: 0, - seconds: 18, - }, - }, - verifyTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - callTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - workTime: { - average: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - maximum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - minimum: { - days: 0, - hours: 0, - microseconds: 0, - milliseconds: 0, - minutes: 0, - nanoseconds: 0, - seconds: 0, - }, - }, - }, - ], - workspaces: [{ name: 'Call', count: 1 }], - }, - }; + const expectedOutput = { data: fakeResults }; - expect(prepareReportResponse(aggregrationResults)).to.be.eql( + expect(prepareReportResponse(aggregationResults)).to.be.eql( expectedOutput ); });