diff --git a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx
index 842f1bc2b8db9..f2b820fe71769 100644
--- a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx
+++ b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx
@@ -122,6 +122,9 @@ describe('BuilderEntryItem', () => {
expect(wrapper.find('.euiFormHelpText.euiFormRow__text').at(0).text()).toEqual(
i18n.CUSTOM_COMBOBOX_OPTION_TEXT
);
+ expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).props()).toEqual(
+ expect.objectContaining({ acceptsCustomOptions: true })
+ );
});
test('it does not render custom option text when "allowCustomOptions" is "true" and it is a nested entry', () => {
@@ -154,6 +157,44 @@ describe('BuilderEntryItem', () => {
);
expect(wrapper.find('.euiFormHelpText.euiFormRow__text').exists()).toBeFalsy();
+ expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).props()).toEqual(
+ expect.objectContaining({ acceptsCustomOptions: false })
+ );
+ });
+
+ test('it does not render custom option text when "allowCustomOptions" is "false"', () => {
+ wrapper = mount(
+
+ );
+
+ expect(wrapper.find('.euiFormHelpText.euiFormRow__text').exists()).toBeFalsy();
+ expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).props()).toEqual(
+ expect.objectContaining({ acceptsCustomOptions: false })
+ );
});
test('it render mapping issues warning text when field has mapping conflicts', () => {
diff --git a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.tsx b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.tsx
index 30cc6e3cd0d91..e2fbc06acca60 100644
--- a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.tsx
+++ b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.tsx
@@ -205,7 +205,7 @@ export const BuilderEntryItem: React.FC = ({
isLoading={false}
isDisabled={isDisabled || indexPattern == null}
onChange={handleFieldChange}
- acceptsCustomOptions={entry.nested == null}
+ acceptsCustomOptions={entry.nested == null && allowCustomOptions}
data-test-subj="exceptionBuilderEntryField"
showMappingConflicts={true}
/>
diff --git a/x-pack/plugins/security_solution/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts
index 2cd4cef387351..340db59c651bb 100644
--- a/x-pack/plugins/security_solution/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts
+++ b/x-pack/plugins/security_solution/cypress/e2e/exceptions/rule_details_flow/add_edit_endpoint_exception.cy.ts
@@ -126,7 +126,7 @@ describe('Add endpoint exception from rule details', () => {
it('edits an endpoint exception item', () => {
const NEW_ITEM_NAME = 'Exception item-EDITED';
const ITEM_FIELD = 'event.code';
- const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.name';
+ const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.type';
// displays existing exception items
cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1);
@@ -159,7 +159,7 @@ describe('Add endpoint exception from rule details', () => {
// check that updates stuck
cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', NEW_ITEM_NAME);
- cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ' agent.nameIS foo');
+ cy.get(EXCEPTION_CARD_ITEM_CONDITIONS).should('have.text', ' agent.typeIS foo');
});
it('allows user to search for items', () => {