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 @@ -223,11 +223,11 @@ export const EnablementPanel: React.FC<EnableEntityStorePanelProps> = ({ state }
toggle={(visible) => setModalState({ visible })}
enableStore={enableEntityStore}
riskScore={{
disabled: riskEngineStatus !== RiskEngineStatusEnum.NOT_INSTALLED,
canToggle: riskEngineStatus === RiskEngineStatusEnum.NOT_INSTALLED,
checked: riskEngineStatus === RiskEngineStatusEnum.NOT_INSTALLED,
}}
entityStore={{
disabled: entityStoreStatus === 'running',
canToggle: entityStoreStatus !== 'running',
checked: entityStoreStatus === 'not_installed',
}}
/>
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 }, // Enabled & Checked
entityStore: { canToggle: true, checked: false }, // Disabled & Unchecked
});
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 }, // Enabled & Checked
riskScore: { canToggle: true, checked: false }, // Disabled & Unchecked
});
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 @@ -45,27 +45,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 @@ -85,8 +85,8 @@ export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProp
const riskEnginePrivileges = useMissingRiskEnginePrivileges();

const enablementOptions = shouldAllowEnablement(
!!riskScore.disabled,
!!entityStore.disabled,
!riskScore.canToggle,
!entityStore.canToggle,
enablements
);
const { AdditionalChargesMessage } = useContractComponents();
Expand Down Expand Up @@ -129,7 +129,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 @@ -156,7 +156,7 @@ export const EntityStoreEnablementModal: React.FC<EntityStoreEnablementModalProp
}
checked={enablements.entityStore}
disabled={
entityStore.disabled ||
!entityStore.canToggle ||
(!isLoadingEntityEnginePrivileges && !entityEnginePrivileges?.has_all_required)
}
onChange={() =>
Expand Down