[Security Solution] Disables loadPrebuiltRulesAndTemplatesButton if loading is in progress (#103568)

This commit is contained in:
Ece Özalp 2021-06-28 19:43:38 -04:00 committed by GitHub
parent bc097856e6
commit 1b5cc2a7bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 2 deletions

View file

@ -127,4 +127,26 @@ describe('LoadPrebuiltRulesAndTemplatesButton', () => {
);
});
});
it('renders disabled button if loading is true', async () => {
(getPrePackagedRulesStatus as jest.Mock).mockResolvedValue({
rules_not_installed: 0,
rules_installed: 0,
rules_not_updated: 0,
timelines_not_installed: 3,
timelines_installed: 0,
timelines_not_updated: 0,
});
const wrapper: ReactWrapper = mount(
<PrePackagedRulesPrompt {...{ ...props, loading: true }} />
);
await waitFor(() => {
wrapper.update();
expect(
wrapper.find('[data-test-subj="load-prebuilt-rules"] button').props().disabled
).toEqual(true);
});
});
});

View file

@ -64,12 +64,12 @@ const PrePackagedRulesPromptComponent: React.FC<PrePackagedRulesPromptProps> = (
const loadPrebuiltRulesAndTemplatesButton = useMemo(
() =>
getLoadPrebuiltRulesAndTemplatesButton({
isDisabled: !userHasPermissions,
isDisabled: !userHasPermissions || loading,
onClick: handlePreBuiltCreation,
fill: true,
'data-test-subj': 'load-prebuilt-rules',
}),
[getLoadPrebuiltRulesAndTemplatesButton, handlePreBuiltCreation, userHasPermissions]
[getLoadPrebuiltRulesAndTemplatesButton, handlePreBuiltCreation, userHasPermissions, loading]
);
return (