Started on AutoMoqDataAttribute
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
This commit is contained in:
36
src/Umbraco.Tests.Common/AutoFixture/AutoMoqDataAttribute.cs
Normal file
36
src/Umbraco.Tests.Common/AutoFixture/AutoMoqDataAttribute.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using AutoFixture;
|
||||
using AutoFixture.AutoMoq;
|
||||
using AutoFixture.NUnit3;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
||||
using Moq;
|
||||
using Umbraco.Core.BackOffice;
|
||||
using Umbraco.Core.Configuration;
|
||||
|
||||
namespace Umbraco.Tests.Common.AutoFixture
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor)]
|
||||
public class AutoMoqDataAttribute : AutoDataAttribute
|
||||
{
|
||||
public AutoMoqDataAttribute() : base(() => AutoMockCustomizations.Default)
|
||||
{
|
||||
}
|
||||
|
||||
private static class AutoMockCustomizations
|
||||
{
|
||||
public static IFixture Default => new Fixture().Customize(new UmbracoCustomization());
|
||||
|
||||
private class UmbracoCustomization : ICustomization
|
||||
{
|
||||
public void Customize(IFixture fixture)
|
||||
{
|
||||
fixture.Customize(new AutoMoqCustomization());
|
||||
fixture.Customize<BindingInfo>(c => c.OmitAutoProperties());
|
||||
fixture.Customize<BackOfficeIdentityUser>(
|
||||
u => u.FromFactory<string ,string, string>(
|
||||
(a,b,c) => BackOfficeIdentityUser.CreateNew(Mock.Of<IGlobalSettings>(),a,b,c)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,17 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoFixture.AutoMoq" Version="4.11.0" />
|
||||
<PackageReference Include="AutoFixture.NUnit3" Version="4.11.0" />
|
||||
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
|
||||
<PackageReference Include="MiniProfiler" Version="4.1.0" />
|
||||
<PackageReference Include="Moq" Version="4.13.1" />
|
||||
<PackageReference Include="nunit" Version="3.12.0" />
|
||||
|
||||
Reference in New Issue
Block a user