Browse Source

Update unit tests

pull/7592/head
liangshiwei 6 years ago
parent
commit
13c5e0eea3
  1. 33
      framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_CustomServiceConstruction_Tests.cs

33
framework/test/Volo.Abp.AutoMapper.Tests/Volo/Abp/AutoMapper/AutoMapper_CustomServiceConstruction_Tests.cs

@ -2,7 +2,6 @@
using AutoMapper; using AutoMapper;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using Volo.Abp.AutoMapper.SampleClasses;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.Testing; using Volo.Abp.Testing;
using Xunit; using Xunit;
@ -22,11 +21,11 @@ namespace Volo.Abp.AutoMapper
[Fact] [Fact]
public void Should_Custom_Service_Construction() public void Should_Custom_Service_Construction()
{ {
var myEntity = new MyEntity var source = new SourceModel
{ {
Number = 2 Name = nameof(SourceModel)
}; };
_objectMapper.Map<MyEntity, MyEntityDto>(myEntity).Number.ShouldBe(1); _objectMapper.Map<SourceModel, DestModel>(source).Name.ShouldBe(nameof(CustomMappingAction));
} }
[DependsOn(typeof(AbpAutoMapperModule))] [DependsOn(typeof(AbpAutoMapperModule))]
@ -41,33 +40,43 @@ namespace Volo.Abp.AutoMapper
{ {
configurationContext.MapperConfiguration.ConstructServicesUsing(type => configurationContext.MapperConfiguration.ConstructServicesUsing(type =>
type.Name.Contains(nameof(CustomMappingAction)) type.Name.Contains(nameof(CustomMappingAction))
? new CustomMappingAction(1) ? new CustomMappingAction(nameof(CustomMappingAction))
: Activator.CreateInstance(type)); : Activator.CreateInstance(type));
}); });
}); });
} }
} }
public class SourceModel
{
public string Name { get; set; }
}
public class DestModel
{
public string Name { get; set; }
}
public class MapperActionProfile : Profile public class MapperActionProfile : Profile
{ {
public MapperActionProfile() public MapperActionProfile()
{ {
CreateMap<MyEntity, MyEntityDto>().AfterMap<CustomMappingAction>(); CreateMap<SourceModel, DestModel>().AfterMap<CustomMappingAction>();
} }
} }
public class CustomMappingAction : IMappingAction<MyEntity, MyEntityDto> public class CustomMappingAction : IMappingAction<SourceModel, DestModel>
{ {
private readonly int _number; private readonly string _name;
public CustomMappingAction(int number) public CustomMappingAction(string name)
{ {
_number = number; _name = name;
} }
public void Process(MyEntity source, MyEntityDto destination, ResolutionContext context) public void Process(SourceModel source, DestModel destination, ResolutionContext context)
{ {
destination.Number = _number; destination.Name = _name;
} }
} }
} }

Loading…
Cancel
Save