using System.Reflection; using AutoFixture; using AutoFixture.Xunit2; using Bit.Core.Tools.Entities; using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.Tools.AutoFixture.SendFixtures; internal class UserSend : ICustomization { public Guid? UserId { get; set; } public void Customize(IFixture fixture) { fixture.Customize(composer => composer .With(s => s.UserId, UserId ?? Guid.NewGuid()) .Without(s => s.OrganizationId)); } } internal class UserSendCustomizeAttribute : BitCustomizeAttribute { public override ICustomization GetCustomization() => new UserSend(); } internal class NewUserSend : ICustomization { public void Customize(IFixture fixture) { fixture.Customize(composer => composer .With(s => s.Id, Guid.Empty) .Without(s => s.OrganizationId)); } } internal class NewUserSendCustomizeAttribute : CustomizeAttribute { public override ICustomization GetCustomization(ParameterInfo parameterInfo) => new NewUserSend(); }