Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,13 @@ const EntityStoreDashboardPanelsComponent = () => {
visible={modal.visible}
toggle={(visible) => setModalState({ visible })}
enableStore={enableEntityStore}
riskScore={{ disabled: isRiskScoreAvailable, checked: !isRiskScoreAvailable }}
riskScore={{
canToggle: !isRiskScoreAvailable,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RiskEngineStatusEnum came after this version, merge mix up corrected with isRiskScoreAvailable added back in.

checked: true,
}}
entityStore={{
disabled: entityStore.status === 'enabled',
checked: entityStore.status !== 'enabled',
canToggle: entityStore.status !== 'enabled',
checked: true,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On initial modal load, should expect that the toggles are always checked.

}}
/>
</EuiFlexGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ const defaultProps = {
visible: true,
toggle: mockToggle,
enableStore: mockEnableStore,
riskScore: { disabled: false, checked: false },
entityStore: { disabled: false, checked: false },
riskScore: { canToggle: false, checked: false },
entityStore: { canToggle: false, checked: false },
};

const allEntityEnginePrivileges: EntityAnalyticsPrivileges = {
Expand Down Expand Up @@ -149,17 +149,17 @@ describe('EntityStoreEnablementModal', () => {
it('should show proceed warning when riskScore is enabled but entityStore is disabled and unchecked', () => {
renderComponent({
...defaultProps,
riskScore: { disabled: false, checked: false }, // Enabled & Checked
entityStore: { disabled: true, checked: false }, // Disabled & Unchecked
riskScore: { canToggle: false, checked: false },
entityStore: { canToggle: true, checked: false },
});
expect(screen.getByText('Please enable at least one option to proceed.')).toBeInTheDocument();
});

it('should show proceed warning when entityStore is enabled but riskScore is disabled and unchecked', () => {
renderComponent({
...defaultProps,
entityStore: { disabled: false, checked: false }, // Enabled & Checked
riskScore: { disabled: true, checked: false }, // Disabled & Unchecked
entityStore: { canToggle: false, checked: false },
riskScore: { canToggle: true, checked: false },
});
expect(screen.getByText('Please enable at least one option to proceed.')).toBeInTheDocument();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,27 @@ interface EntityStoreEnablementModalProps {
toggle: (visible: boolean) => void;
enableStore: (enablements: Enablements) => () => void;
riskScore: {
disabled?: boolean;
canToggle?: boolean;
checked?: boolean;
};
entityStore: {
disabled?: boolean;
canToggle?: boolean;
checked?: boolean;
};
}

const shouldAllowEnablement = (
riskScoreEnabled: boolean,
entityStoreEnabled: boolean,
enablements: Enablements
userHasEnabled: Enablements
) => {
if (riskScoreEnabled) {
return enablements.entityStore;
return userHasEnabled.entityStore;
}
if (entityStoreEnabled) {
return enablements.riskScore;
return userHasEnabled.riskScore;
}
return enablements.riskScore || enablements.entityStore;
return userHasEnabled.riskScore || userHasEnabled.entityStore;
};

export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProps> = ({
Expand All @@ -88,8 +88,8 @@ export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProp
const riskEnginePrivileges = useMissingRiskEnginePrivileges();

const enablementOptions = shouldAllowEnablement(
!!riskScore.disabled,
!!entityStore.disabled,
!riskScore.canToggle,
!entityStore.canToggle,
enablements
);
const { EnablementModalCallout } = useContractComponents();
Expand Down Expand Up @@ -132,7 +132,7 @@ export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProp
}
checked={enablements.riskScore}
disabled={
riskScore.disabled ||
!riskScore.canToggle ||
(!riskEnginePrivileges.isLoading && !riskEnginePrivileges?.hasAllRequiredPrivileges)
}
onChange={() => setEnablements((prev) => ({ ...prev, riskScore: !prev.riskScore }))}
Expand All @@ -158,7 +158,7 @@ export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProp
}
checked={enablements.entityStore}
disabled={
entityStore.disabled ||
!entityStore.canToggle ||
(!isLoadingEntityEnginePrivileges && !entityEnginePrivileges?.has_all_required)
}
onChange={() =>
Expand Down