From f5b99e5ca751d2bb2160723ac5e80c4d28e5a9d7 Mon Sep 17 00:00:00 2001 From: Jeff Levin Date: Wed, 24 Aug 2022 06:51:35 -0800 Subject: [PATCH] add tests for api urls (#54116) Create function for generating api urls and add tests --- .../SharePublicDashboardUtils.test.tsx | 14 ++++++++++++++ .../ShareModal/SharePublicDashboardUtils.ts | 17 +++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.test.tsx b/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.test.tsx index b04197b196d..1eb789529ee 100644 --- a/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.test.tsx +++ b/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.test.tsx @@ -5,6 +5,8 @@ import { dashboardHasTemplateVariables, generatePublicDashboardUrl, publicDashboardPersisted, + getPublicDashboardConfigUrl, + savePublicDashboardConfigUrl, } from './SharePublicDashboardUtils'; describe('dashboardHasTemplateVariables', () => { @@ -40,3 +42,15 @@ describe('publicDashboardPersisted', () => { expect(publicDashboardPersisted(pubdash)).toBe(false); }); }); + +describe('getPublicDashboardConfigUrl', () => { + it('builds the correct url', () => { + expect(getPublicDashboardConfigUrl('abc1234')).toEqual('/api/dashboards/uid/abc1234/public-config'); + }); +}); + +describe('savePublicDashboardConfigUrl', () => { + it('builds the correct url', () => { + expect(savePublicDashboardConfigUrl('abc1234')).toEqual('/api/dashboards/uid/abc1234/public-config'); + }); +}); diff --git a/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.ts b/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.ts index 9158d726c63..91ea0b57ca9 100644 --- a/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.ts +++ b/public/app/features/dashboard/components/ShareModal/SharePublicDashboardUtils.ts @@ -22,8 +22,7 @@ export const getPublicDashboardConfig = async ( dashboardUid: string, setPublicDashboard: React.Dispatch> ) => { - const url = `/api/dashboards/uid/${dashboardUid}/public-config`; - const pdResp: PublicDashboard = await getBackendSrv().get(url); + const pdResp: PublicDashboard = await getBackendSrv().get(getPublicDashboardConfigUrl(dashboardUid)); setPublicDashboard(pdResp); }; @@ -32,8 +31,10 @@ export const savePublicDashboardConfig = async ( publicDashboardConfig: PublicDashboard, setPublicDashboard: React.Dispatch> ) => { - const url = `/api/dashboards/uid/${dashboardUid}/public-config`; - const pdResp: PublicDashboard = await getBackendSrv().post(url, publicDashboardConfig); + const pdResp: PublicDashboard = await getBackendSrv().post( + savePublicDashboardConfigUrl(dashboardUid), + publicDashboardConfig + ); // Never allow a user to send the orgId // @ts-ignore @@ -43,6 +44,14 @@ export const savePublicDashboardConfig = async ( setPublicDashboard(pdResp); }; +export const getPublicDashboardConfigUrl = (dashboardUid: string) => { + return `/api/dashboards/uid/${dashboardUid}/public-config`; +}; + +export const savePublicDashboardConfigUrl = (dashboardUid: string) => { + return `/api/dashboards/uid/${dashboardUid}/public-config`; +}; + // Instance methods export const dashboardHasTemplateVariables = (variables: VariableModel[]): boolean => { return variables.length > 0;