From 342e4d6ce75fb3aff36aae3a09a89a01fe1d4b4f Mon Sep 17 00:00:00 2001 From: Jared McCannon Date: Thu, 22 Jan 2026 11:09:19 -0600 Subject: [PATCH] updating tests and command to include feature flag --- .../v1/RestoreOrganizationUserCommand.cs | 11 +++--- .../RestoreOrganizationUserCommandTests.cs | 36 +++++++++++++++++++ 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/v1/RestoreOrganizationUserCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/v1/RestoreOrganizationUserCommand.cs index d3b4db7e9f..786710186c 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/v1/RestoreOrganizationUserCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/v1/RestoreOrganizationUserCommand.cs @@ -104,12 +104,12 @@ public class RestoreOrganizationUserCommand( var status = OrganizationService.GetPriorActiveOrganizationUserStatusType(organizationUser); await organizationUserRepository.RestoreAsync(organizationUser.Id, status); - organizationUser.Status = status; if (organizationUser.UserId.HasValue && (await policyRequirementQuery.GetAsync(organizationUser.UserId .Value)).State == OrganizationDataOwnershipState.Enabled && status == OrganizationUserStatusType.Confirmed + && featureService.IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) && !string.IsNullOrWhiteSpace(defaultCollectionName)) { await collectionRepository.CreateDefaultCollectionsAsync(organizationUser.OrganizationId, @@ -238,20 +238,21 @@ public class RestoreOrganizationUserCommand( var status = OrganizationService.GetPriorActiveOrganizationUserStatusType(organizationUser); await organizationUserRepository.RestoreAsync(organizationUser.Id, status); - organizationUser.Status = status; - await eventService.LogOrganizationUserEventAsync(organizationUser, EventType.OrganizationUser_Restored); if (organizationUser.UserId.HasValue) { if (organizationUsersDataOwnershipEnabled.Contains(organizationUser.Id) - && organizationUser.Status == OrganizationUserStatusType.Confirmed - && !string.IsNullOrWhiteSpace(defaultCollectionName)) + && status == OrganizationUserStatusType.Confirmed + && !string.IsNullOrWhiteSpace(defaultCollectionName) + && featureService.IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore)) { await collectionRepository.CreateDefaultCollectionsAsync(organizationUser.OrganizationId, [organizationUser.Id], defaultCollectionName); } + await eventService.LogOrganizationUserEventAsync(organizationUser, EventType.OrganizationUser_Restored); + await pushNotificationService.PushSyncOrgKeysAsync(organizationUser.UserId.Value); } diff --git a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/RestoreOrganizationUserCommandTests.cs b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/RestoreOrganizationUserCommandTests.cs index f99d2821e6..29c996cee9 100644 --- a/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/RestoreOrganizationUserCommandTests.cs +++ b/test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/RestoreUser/RestoreOrganizationUserCommandTests.cs @@ -1188,6 +1188,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Email = null; // This causes user to restore to Confirmed status RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + SetupOrganizationDataOwnershipPolicy( sutProvider, organizationUser.UserId!.Value, @@ -1219,6 +1223,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Email = null; // This causes user to restore to Confirmed status RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + SetupOrganizationDataOwnershipPolicy( sutProvider, organizationUser.UserId!.Value, @@ -1246,6 +1254,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Email = null; // This causes user to restore to Confirmed status RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + SetupOrganizationDataOwnershipPolicy( sutProvider, organizationUser.UserId!.Value, @@ -1276,6 +1288,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Email = null; // This causes user to restore to Confirmed status RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + SetupOrganizationDataOwnershipPolicy( sutProvider, organizationUser.UserId!.Value, @@ -1307,6 +1323,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Key = null; RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + // Act await sutProvider.Sut.RestoreUserAsync(organizationUser, owner.Id, defaultCollectionName); @@ -1331,6 +1351,10 @@ public class RestoreOrganizationUserCommandTests organizationUser.Key = null; RestoreUser_Setup(organization, owner, organizationUser, sutProvider); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + // Act await sutProvider.Sut.RestoreUserAsync(organizationUser, owner.Id, defaultCollectionName); @@ -1358,6 +1382,10 @@ public class RestoreOrganizationUserCommandTests var organizationUserRepository = sutProvider.GetDependency(); var userService = Substitute.For(); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + // orgUser1: Will restore to Confirmed (Email = null) orgUser1.Email = null; orgUser1.OrganizationId = organization.Id; @@ -1415,6 +1443,10 @@ public class RestoreOrganizationUserCommandTests var organizationUserRepository = sutProvider.GetDependency(); var userService = Substitute.For(); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + // Both users will restore to Confirmed orgUser1.Email = null; orgUser1.OrganizationId = organization.Id; @@ -1468,6 +1500,10 @@ public class RestoreOrganizationUserCommandTests var organizationUserRepository = sutProvider.GetDependency(); var userService = Substitute.For(); + sutProvider.GetDependency() + .IsEnabled(FeatureFlagKeys.DefaultUserCollectionRestore) + .Returns(true); + // Both users will restore to Confirmed orgUser1.Email = null; orgUser1.OrganizationId = organization.Id;