mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
fix: archive toggle no longer respects change request (#6882)
This commit is contained in:
parent
fd4bcfffa5
commit
6b5cdc2d24
@ -112,14 +112,14 @@ test('Add multiple archive feature changes to change request', async () => {
|
||||
expect(onClose).toBeCalledTimes(1);
|
||||
});
|
||||
|
||||
test('Skip change request', async () => {
|
||||
test('Skip change request does not affect archive', async () => {
|
||||
const onClose = vi.fn();
|
||||
const onConfirm = vi.fn();
|
||||
setupHappyPathForChangeRequest();
|
||||
setupArchiveValidation([]);
|
||||
render(
|
||||
<FeatureArchiveDialog
|
||||
featureIds={['featureA', 'featureB']}
|
||||
featureIds={['featureA']}
|
||||
projectId={'projectId'}
|
||||
isOpen={true}
|
||||
onClose={onClose}
|
||||
@ -129,16 +129,17 @@ test('Skip change request', async () => {
|
||||
{ permissions: [{ permission: 'SKIP_CHANGE_REQUEST' }] },
|
||||
);
|
||||
|
||||
await screen.findByText('Archive feature toggles');
|
||||
const button = await screen.findByText('Archive toggles');
|
||||
await screen.findByText('Archive feature toggle');
|
||||
const button = await screen.findByText('Add change to draft');
|
||||
|
||||
await waitFor(() => expect(button).toBeEnabled());
|
||||
|
||||
button.click();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(onClose).toBeCalledTimes(1);
|
||||
});
|
||||
expect(onConfirm).toBeCalledTimes(0); // we didn't setup non Change Request flow so failure
|
||||
expect(onConfirm).toBeCalledTimes(1);
|
||||
});
|
||||
|
||||
test('Show error message when multiple parents of orphaned children are archived', async () => {
|
||||
|
@ -181,15 +181,16 @@ const useActionButtonText = (projectId: string, isBulkArchive: boolean) => {
|
||||
const getHighestEnvironment =
|
||||
useHighestPermissionChangeRequestEnvironment(projectId);
|
||||
const environment = getHighestEnvironment();
|
||||
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
||||
const { isChangeRequestConfiguredForReview } =
|
||||
useChangeRequestsEnabled(projectId);
|
||||
if (
|
||||
environment &&
|
||||
isChangeRequestConfigured(environment) &&
|
||||
isChangeRequestConfiguredForReview(environment) &&
|
||||
isBulkArchive
|
||||
) {
|
||||
return 'Add to change request';
|
||||
}
|
||||
if (environment && isChangeRequestConfigured(environment)) {
|
||||
if (environment && isChangeRequestConfiguredForReview(environment)) {
|
||||
return 'Add change to draft';
|
||||
}
|
||||
if (isBulkArchive) {
|
||||
@ -212,7 +213,8 @@ const useArchiveAction = ({
|
||||
const { setToastData, setToastApiError } = useToast();
|
||||
const { archiveFeatureToggle } = useFeatureApi();
|
||||
const { archiveFeatures } = useProjectApi();
|
||||
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
||||
const { isChangeRequestConfiguredForReview } =
|
||||
useChangeRequestsEnabled(projectId);
|
||||
const { addChange } = useChangeRequestApi();
|
||||
const { refetch: refetchChangeRequests } =
|
||||
usePendingChangeRequests(projectId);
|
||||
@ -266,7 +268,10 @@ const useArchiveAction = ({
|
||||
|
||||
return async () => {
|
||||
try {
|
||||
if (environment && isChangeRequestConfigured(environment)) {
|
||||
if (
|
||||
environment &&
|
||||
isChangeRequestConfiguredForReview(environment)
|
||||
) {
|
||||
await addArchiveToggleToChangeRequest();
|
||||
} else if (isBulkArchive) {
|
||||
await archiveToggles();
|
||||
|
Loading…
Reference in New Issue
Block a user