From e474853db05f6c6432818ed3eaf0f13976bb7018 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Fri, 4 Aug 2017 09:14:12 +0200 Subject: [PATCH] fix activity page for applications (#2315) --- .../__snapshots__/utils-test.js.snap | 35 +++++++++++++++++++ .../projectActivity/__tests__/utils-test.js | 18 ++++++++++ .../src/main/js/apps/projectActivity/utils.js | 4 +++ 3 files changed, 57 insertions(+) diff --git a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/__snapshots__/utils-test.js.snap b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/__snapshots__/utils-test.js.snap index 204807cc2c4..06b8994c23d 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/__snapshots__/utils-test.js.snap +++ b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/__snapshots__/utils-test.js.snap @@ -252,3 +252,38 @@ Array [ }, ] `; + +exports[`getAnalysesByVersionByDay should create fake version 1`] = ` +Array [ + Object { + "byDay": Object { + "2017-4-18": Array [ + Object { + "date": 2017-05-18T12:13:07.000Z, + "events": Array [], + "key": "AVxZtCpH7841nF4RNEMI", + }, + ], + "2017-5-9": Array [ + Object { + "date": 2017-06-09T11:06:10.000Z, + "events": Array [], + "key": "AVyMjlK1HjR_PLDzRbB9", + }, + Object { + "date": 2017-06-09T09:12:27.000Z, + "events": Array [], + "key": "AVyM9n3cHjR_PLDzRciT", + }, + Object { + "date": 2017-06-09T09:12:27.000Z, + "events": Array [], + "key": "AVyMjlK1HjR_PLDzRbB9", + }, + ], + }, + "key": null, + "version": null, + }, +] +`; diff --git a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js index 61e70383531..2ee3b2cfe3d 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/__tests__/utils-test.js @@ -146,6 +146,24 @@ describe('getAnalysesByVersionByDay', () => { }) ).toMatchSnapshot(); }); + it('should create fake version', () => { + expect( + utils.getAnalysesByVersionByDay( + [ + { key: 'AVyMjlK1HjR_PLDzRbB9', date: new Date('2017-06-09T13:06:10+0200'), events: [] }, + { key: 'AVyM9n3cHjR_PLDzRciT', date: new Date('2017-06-09T11:12:27+0200'), events: [] }, + { key: 'AVyMjlK1HjR_PLDzRbB9', date: new Date('2017-06-09T11:12:27+0200'), events: [] }, + { key: 'AVxZtCpH7841nF4RNEMI', date: new Date('2017-05-18T14:13:07+0200'), events: [] } + ], + { + category: '', + customMetrics: [], + graph: utils.DEFAULT_GRAPH, + project: 'foo' + } + ) + ).toMatchSnapshot(); + }); }); describe('getDisplayedHistoryMetrics', () => { diff --git a/server/sonar-web/src/main/js/apps/projectActivity/utils.js b/server/sonar-web/src/main/js/apps/projectActivity/utils.js index 2dfa93b3f0f..89171cf3617 100644 --- a/server/sonar-web/src/main/js/apps/projectActivity/utils.js +++ b/server/sonar-web/src/main/js/apps/projectActivity/utils.js @@ -153,6 +153,10 @@ export const getAnalysesByVersionByDay = ( acc[acc.length - 1] = newVersion; } currentVersion = newVersion; + } else if (!currentVersion) { + // APPs don't have version events, so let's create a fake one + currentVersion = { version: null, key: null, byDay: {} }; + acc.push(currentVersion); } const day = moment(analysis.date).startOf('day').valueOf().toString(); -- 2.39.5