[SecuritySolution] Remove the cell hovers actions for agent status (#130042)

* fix: remove the cell actions for agent status

As discussed in https://github.com/elastic/kibana/issues/127010, the agent.status should not have hover actions

* chore: use object-lookup instead of array.includes
This commit is contained in:
Jan Monschke 2022-04-12 21:59:00 +02:00 committed by GitHub
parent 9d5aca591b
commit 9f37de516b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 3 deletions

View file

@ -14,6 +14,7 @@ import { TestProviders } from '../../../mock';
import { EventFieldsData } from '../types';
import { AlertSummaryRow } from '../helpers';
import { TimelineId } from '../../../../../common/types';
import { AGENT_STATUS_FIELD_NAME } from '../../../../timelines/components/timeline/body/renderers/constants';
jest.mock('../../../lib/kibana');
@ -52,6 +53,27 @@ const enrichedHostIpData: AlertSummaryRow['description'] = {
values: [...hostIpValues],
};
const enrichedAgentStatusData: AlertSummaryRow['description'] = {
data: {
field: AGENT_STATUS_FIELD_NAME,
format: '',
type: '',
aggregatable: false,
description: '',
example: '',
category: '',
fields: {},
indexes: [],
name: AGENT_STATUS_FIELD_NAME,
searchable: false,
readFromDocValues: false,
isObjectArray: false,
},
eventId,
values: [],
timelineId: TimelineId.test,
};
describe('SummaryValueCell', () => {
test('it should render', async () => {
render(
@ -64,8 +86,8 @@ describe('SummaryValueCell', () => {
expect(screen.getAllByTestId('test-filter-out')).toHaveLength(1);
});
describe('When in the timeline flyout with timelineId active', () => {
test('it should not render the default hover actions', async () => {
describe('Without hover actions', () => {
test('When in the timeline flyout with timelineId active', async () => {
render(
<TestProviders>
<SummaryValueCell {...enrichedHostIpData} timelineId={TimelineId.active} />
@ -75,5 +97,17 @@ describe('SummaryValueCell', () => {
expect(screen.queryByTestId('test-filter-for')).toBeNull();
expect(screen.queryByTestId('test-filter-out')).toBeNull();
});
test('When rendering the host status field', async () => {
render(
<TestProviders>
<SummaryValueCell {...enrichedAgentStatusData} />
</TestProviders>
);
expect(screen.getByTestId('event-field-agent.status')).toBeInTheDocument();
expect(screen.queryByTestId('test-filter-for')).toBeNull();
expect(screen.queryByTestId('test-filter-out')).toBeNull();
});
});
});

View file

@ -12,6 +12,10 @@ import { FieldValueCell } from './field_value_cell';
import { AlertSummaryRow } from '../helpers';
import { TimelineId } from '../../../../../common/types';
import { AGENT_STATUS_FIELD_NAME } from '../../../../timelines/components/timeline/body/renderers/constants';
const FIELDS_WITHOUT_ACTIONS: { [field: string]: boolean } = { [AGENT_STATUS_FIELD_NAME]: true };
export const SummaryValueCell: React.FC<AlertSummaryRow['description']> = ({
data,
eventId,
@ -33,7 +37,7 @@ export const SummaryValueCell: React.FC<AlertSummaryRow['description']> = ({
style={{ flexGrow: 0 }}
values={values}
/>
{timelineId !== TimelineId.active && !isReadOnly && (
{timelineId !== TimelineId.active && !isReadOnly && !FIELDS_WITHOUT_ACTIONS[data.field] && (
<ActionCell
contextId={timelineId}
data={data}