diff --git a/test/Common/AutoFixture/Attributes/SutProviderCustomizeAttribute.cs b/test/Common/AutoFixture/Attributes/SutProviderCustomizeAttribute.cs index e582e1715d..37fe578086 100644 --- a/test/Common/AutoFixture/Attributes/SutProviderCustomizeAttribute.cs +++ b/test/Common/AutoFixture/Attributes/SutProviderCustomizeAttribute.cs @@ -2,7 +2,7 @@ namespace Bit.Test.Common.AutoFixture.Attributes; -public class SutProviderCustomizeAttribute : BitCustomizeAttribute +public class SutProviderCustomizeAttribute(bool create = true) : BitCustomizeAttribute { - public override ICustomization GetCustomization() => new SutProviderCustomization(); + public override ICustomization GetCustomization() => new SutProviderCustomization(create); } diff --git a/test/Common/AutoFixture/SutProvider.cs b/test/Common/AutoFixture/SutProvider.cs index c2ad7ed838..acd7b22221 100644 --- a/test/Common/AutoFixture/SutProvider.cs +++ b/test/Common/AutoFixture/SutProvider.cs @@ -85,13 +85,6 @@ public class SutProvider : ISutProvider return this; } - public SutProvider CreateSubstitude() - { - Create(); - var constructor = SutType.GetConstructor(_dependencies.Keys.ToArray()); - return this; - } - private bool DependencyIsSet(Type dependencyType, string parameterName = "") => _dependencies.ContainsKey(dependencyType) && _dependencies[dependencyType].ContainsKey(parameterName); diff --git a/test/Common/AutoFixture/SutProviderCustomization.cs b/test/Common/AutoFixture/SutProviderCustomization.cs index 5cbff6a718..c05d80a856 100644 --- a/test/Common/AutoFixture/SutProviderCustomization.cs +++ b/test/Common/AutoFixture/SutProviderCustomization.cs @@ -3,7 +3,7 @@ using AutoFixture.Kernel; namespace Bit.Test.Common.AutoFixture.Attributes; -public class SutProviderCustomization : ICustomization, ISpecimenBuilder +public class SutProviderCustomization(bool create = true) : ICustomization, ISpecimenBuilder { private IFixture _fixture = null; @@ -13,16 +13,20 @@ public class SutProviderCustomization : ICustomization, ISpecimenBuilder { throw new ArgumentNullException(nameof(context)); } + if (!(request is Type typeRequest)) { return new NoSpecimen(); } + if (!typeof(ISutProvider).IsAssignableFrom(typeRequest)) { return new NoSpecimen(); } - return ((ISutProvider)Activator.CreateInstance(typeRequest, _fixture)).Create(); + var sutProvider = (ISutProvider)Activator.CreateInstance(typeRequest, _fixture); + + return create ? sutProvider?.Create() : sutProvider; } public void Customize(IFixture fixture)