From de4bf9b9f367511f3621c3fe391b06989eff503a Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Wed, 4 Aug 2021 17:21:20 +0100 Subject: [PATCH] Catalog: Update enterprise license messaging in PluginDetails (#37547) (#37559) * feat(catalog): change messaging if enterprise license is missing and add link * test(catalog): fix failing PluginDetails test (cherry picked from commit e21ecf237b5d14251547b8e0d3f761e392a4b795) Co-authored-by: Jack Westbrook --- .../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()); }); });