From e21ecf237b5d14251547b8e0d3f761e392a4b795 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Wed, 4 Aug 2021 17:55:03 +0200 Subject: [PATCH] Catalog: Update enterprise license messaging in PluginDetails (#37547) * feat(catalog): change messaging if enterprise license is missing and add link * test(catalog): fix failing PluginDetails test --- .../plugins/admin/components/InstallControls.tsx | 16 +++++++++++++--- .../plugins/admin/pages/PluginDetails.test.tsx | 7 +++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/public/app/features/plugins/admin/components/InstallControls.tsx b/public/app/features/plugins/admin/components/InstallControls.tsx index 1d9d4189486..dd42713967a 100644 --- a/public/app/features/plugins/admin/components/InstallControls.tsx +++ b/public/app/features/plugins/admin/components/InstallControls.tsx @@ -82,9 +82,19 @@ export const InstallControls = ({ plugin, isInflight, hasUpdate, isInstalled, ha if (isEnterprise && !config.licenseInfo?.hasValidLicense) { return ( -
- Marketplace doesn't support installing Enterprise plugins yet. Stay tuned! -
+ + No valid Grafana Enterprise license detected. + + Learn more + + ); } diff --git a/public/app/features/plugins/admin/pages/PluginDetails.test.tsx b/public/app/features/plugins/admin/pages/PluginDetails.test.tsx index 9b8bd471147..e001e3cf114 100644 --- a/public/app/features/plugins/admin/pages/PluginDetails.test.tsx +++ b/public/app/features/plugins/admin/pages/PluginDetails.test.tsx @@ -62,15 +62,14 @@ describe('Plugin details page', () => { }); it('should not display install button for enterprise plugins', async () => { - const { getByText } = setup('enterprise'); + const { queryByRole } = setup('enterprise'); - const expected = "Marketplace doesn't support installing Enterprise plugins yet. Stay tuned!"; - - await waitFor(() => expect(getByText(expected)).toBeInTheDocument()); + await waitFor(() => expect(queryByRole('button', { name: /(un)?install/i })).not.toBeInTheDocument()); }); it('should not display install / uninstall buttons for core plugins', async () => { const { queryByRole } = setup('core'); + await waitFor(() => expect(queryByRole('button', { name: /(un)?install/i })).not.toBeInTheDocument()); }); });