From 8474794aaa1dd1d9560fb199f2ee62f9a4987af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 8 Jun 2020 17:15:56 +0200 Subject: [PATCH] Dashboard: Fix loading custom home dashboard (#25447) * Dashboard: Fix loading custom home dashboard * Updated and added test --- .../features/dashboard/state/initDashboard.test.ts | 12 +++++++++++- public/app/features/dashboard/state/initDashboard.ts | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/public/app/features/dashboard/state/initDashboard.test.ts b/public/app/features/dashboard/state/initDashboard.test.ts index 854278252d5..8681652d150 100644 --- a/public/app/features/dashboard/state/initDashboard.test.ts +++ b/public/app/features/dashboard/state/initDashboard.test.ts @@ -201,7 +201,6 @@ describeInitScenario('Initializing home dashboard', ctx => { ctx.setup(() => { ctx.args.routeInfo = DashboardRouteInfo.Home; ctx.backendSrv.get.mockResolvedValue({ - meta: {}, redirectUri: '/u/123/my-home', }); }); @@ -212,6 +211,17 @@ describeInitScenario('Initializing home dashboard', ctx => { }); }); +describeInitScenario('Initializing home dashboard cancelled', ctx => { + ctx.setup(() => { + ctx.args.routeInfo = DashboardRouteInfo.Home; + ctx.backendSrv.get.mockResolvedValue([]); + }); + + it('Should abort init process', () => { + expect(ctx.actions.length).toBe(1); + }); +}); + describeInitScenario('Initializing existing dashboard', ctx => { const mockQueries = [ { diff --git a/public/app/features/dashboard/state/initDashboard.ts b/public/app/features/dashboard/state/initDashboard.ts index 381fa77b373..b431c498d91 100644 --- a/public/app/features/dashboard/state/initDashboard.ts +++ b/public/app/features/dashboard/state/initDashboard.ts @@ -69,7 +69,7 @@ async function fetchDashboard( const dashDTO: DashboardDTO = await backendSrv.get('/api/dashboards/home'); // if above all is cancelled it will return an array - if (!dashDTO.meta) { + if (Array.isArray(dashDTO)) { return null; }