mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[SLO] hide service details link for read only users (#170731)
Fixes https://github.com/elastic/kibana/issues/170610
This commit is contained in:
parent
4d8db5b309
commit
2914d25a29
2 changed files with 8 additions and 2 deletions
|
@ -33,13 +33,14 @@ export interface Props {
|
|||
|
||||
export function HeaderControl({ isLoading, slo }: Props) {
|
||||
const {
|
||||
application: { navigateToUrl },
|
||||
application: { navigateToUrl, capabilities },
|
||||
http: { basePath },
|
||||
share: {
|
||||
url: { locators },
|
||||
},
|
||||
triggersActionsUi: { getAddRuleFlyout: AddRuleFlyout },
|
||||
} = useKibana().services;
|
||||
const hasApmReadCapabilities = capabilities.apm.show;
|
||||
const { hasWriteCapabilities } = useCapabilities();
|
||||
|
||||
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
||||
|
@ -202,6 +203,7 @@ export function HeaderControl({ isLoading, slo }: Props) {
|
|||
<EuiContextMenuItem
|
||||
key="exploreInApm"
|
||||
icon="bullseye"
|
||||
disabled={!hasApmReadCapabilities}
|
||||
onClick={handleNavigateToApm}
|
||||
data-test-subj="sloDetailsHeaderControlPopoverExploreInApm"
|
||||
>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
import React from 'react';
|
||||
import { fireEvent, screen, waitFor } from '@testing-library/react';
|
||||
import type { Capabilities } from '@kbn/core/public';
|
||||
|
||||
import { useKibana } from '../../utils/kibana_react';
|
||||
import { useParams, useLocation } from 'react-router-dom';
|
||||
|
@ -60,6 +61,9 @@ const mockNavigate = jest.fn();
|
|||
const mockLocator = jest.fn();
|
||||
const mockClone = jest.fn();
|
||||
const mockDelete = jest.fn();
|
||||
const mockCapabilities = {
|
||||
apm: { show: true },
|
||||
} as unknown as Capabilities;
|
||||
|
||||
const mockKibana = () => {
|
||||
useKibanaMock.mockReturnValue({
|
||||
|
@ -68,7 +72,7 @@ const mockKibana = () => {
|
|||
lens: {
|
||||
EmbeddableComponent: () => <div data-test-subj="errorRateChart">mocked component</div>,
|
||||
},
|
||||
application: { navigateToUrl: mockNavigate },
|
||||
application: { navigateToUrl: mockNavigate, capabilities: mockCapabilities },
|
||||
charts: chartPluginMock.createStartContract(),
|
||||
http: {
|
||||
basePath: {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue