using System.Reflection; using AutoFixture; using AutoFixture.Xunit2; using Bit.Core.AdminConsole.Enums; using Bit.Core.AdminConsole.Models.Data.Organizations.Policies; using Bit.Core.Enums; namespace Bit.Core.Test.AdminConsole.AutoFixture; internal class PolicyDetailsCustomization( PolicyType policyType, OrganizationUserType userType, bool isProvider, OrganizationUserStatusType userStatus) : ICustomization { public void Customize(IFixture fixture) { fixture.Customize(composer => composer .With(o => o.PolicyType, policyType) .With(o => o.OrganizationUserType, userType) .With(o => o.IsProvider, isProvider) .With(o => o.OrganizationUserStatus, userStatus) .Without(o => o.PolicyData)); // avoid autogenerating invalid json data } } public class PolicyDetailsAttribute( PolicyType policyType, OrganizationUserType userType = OrganizationUserType.User, bool isProvider = false, OrganizationUserStatusType userStatus = OrganizationUserStatusType.Confirmed) : CustomizeAttribute { public override ICustomization GetCustomization(ParameterInfo parameter) => new PolicyDetailsCustomization(policyType, userType, isProvider, userStatus); }