diff --git a/src/Core/AdminConsole/Enums/PolicyType.cs b/src/Core/AdminConsole/Enums/PolicyType.cs index f82f39b64eb1..6f9222073736 100644 --- a/src/Core/AdminConsole/Enums/PolicyType.cs +++ b/src/Core/AdminConsole/Enums/PolicyType.cs @@ -66,7 +66,7 @@ public static string GetName(this PolicyType type) PolicyType.BlockClaimedDomainAccountCreation => "Block account creation for claimed domains", PolicyType.OrganizationUserNotification => "Vault banner message", PolicyType.SendControls => "Send controls", - PolicyType.FillAssist => "Fill Assist", + PolicyType.FillAssist => "Activate fill assist", }; } } diff --git a/src/Core/AdminConsole/OrganizationFeatures/Policies/PolicyEventHandlers/FillAssistPolicyEventHandler.cs b/src/Core/AdminConsole/OrganizationFeatures/Policies/PolicyEventHandlers/FillAssistPolicyEventHandler.cs index dda43d325018..8ee203047fe0 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/Policies/PolicyEventHandlers/FillAssistPolicyEventHandler.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/Policies/PolicyEventHandlers/FillAssistPolicyEventHandler.cs @@ -8,9 +8,10 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.PolicyEventHandlers; -public class FillAssistPolicyEventHandler : IPolicyValidationEvent +public class FillAssistPolicyEventHandler : IPolicyValidationEvent, IEnforceDependentPoliciesEvent { public PolicyType Type => PolicyType.FillAssist; + public IEnumerable RequiredPolicies => [PolicyType.SingleOrg]; public Task ValidateAsync(SavePolicyModel policyRequest, Policy? currentPolicy) { diff --git a/test/Api.IntegrationTest/AdminConsole/Controllers/PoliciesControllerTests.cs b/test/Api.IntegrationTest/AdminConsole/Controllers/PoliciesControllerTests.cs index 4b850a535baa..f21a66f0646c 100644 --- a/test/Api.IntegrationTest/AdminConsole/Controllers/PoliciesControllerTests.cs +++ b/test/Api.IntegrationTest/AdminConsole/Controllers/PoliciesControllerTests.cs @@ -500,6 +500,11 @@ await OrganizationTestHelpers.CreateUserAsync(_factory, orgB.Id, public async Task Put_FillAssistPolicy_Success() { // Arrange + // FillAssist requires SingleOrg to be enabled first (IEnforceDependentPoliciesEvent). + await _client.PutAsync( + $"/organizations/{_organization.Id}/policies/{PolicyType.SingleOrg}", + JsonContent.Create(new SavePolicyRequest { Policy = new PolicyRequestModel { Enabled = true } })); + var policyType = PolicyType.FillAssist; const string rulesUrl = "https://github.com/bitwarden/map-the-web/releases/latest/download"; var request = new SavePolicyRequest