public async Task TestActionServiceInOutMappingOk(int num, bool hasErrors) { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(_noCachingConfig); utData.AddDtoMapping <ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOutAsync(); var runner = new ActionServiceInOutAsync <IBizActionInOutAsync, BizDataIn, BizDataOut>(false, utData.WrappedConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = await runner.RunBizActionDbAndInstanceAsync <ServiceLayerBizOutDto>(_dbContext, bizInstance, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { data.ShouldBeNull(); } else { data.Output.ShouldEqual(inDto.Num.ToString()); } }
public async Task TestActionServiceInOutDatabaseValidationOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var bizInstance = new BizActionInOutWriteDbAsync(context); var runner = new ActionServiceAsync <IBizActionInOutWriteDbAsync>(context, bizInstance, _mapper, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = await runner.RunBizActionAsync <BizDataOut>(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); input.SetupSecondaryDataCalled.ShouldBeFalse(); data.ShouldBeNull(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); data.Output.ShouldEqual(num.ToString()); } } }
public void TestValidation(int num, bool hasErrors, bool doNotValidateSaveChanges) { //SETUP var config = new GenericBizRunnerConfig { TurnOffCaching = true, DoNotValidateSaveChanges = doNotValidateSaveChanges }; var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOutWriteDb(context); var runner = new ActionServiceInOut <IBizActionInOutWriteDb, BizDataIn, BizDataOut>(true, config); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = runner.RunBizActionDbAndInstance <ServiceLayerBizOutDto>(context, bizInstance, mapper, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }
public void TestActionServiceDtosDatabaseValidationOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var bizInstance = new BizActionInOnlyWriteDb(context); var runner = new ActionService <IBizActionInOnlyWriteDb>(context, bizInstance, _wrappedConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT runner.RunBizAction(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); input.SetupSecondaryDataCalled.ShouldBeTrue(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }
public void TestActionServiceInOnlyMappingDatabaseOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOnlyWriteDb(context); var runner = new ActionServiceInOnly <IBizActionInOnlyWriteDb, BizDataIn>(true, _noCachingConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT runner.RunBizActionDbAndInstance(context, bizInstance, mapper, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }
public void TestActionServiceInOutDtosOk(int num, bool hasErrors) { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOut(); var runner = new ActionService <IBizActionInOut>(_emptyDbContext, bizInstance, mapper, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = runner.RunBizAction <ServiceLayerBizOutDto>(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { data.ShouldBeNull(); bizInstance.Message.ShouldEqual("Failed with 1 error"); } else { data.Output.ShouldEqual(num.ToString()); } }
public async Task TestActionServiceInOnlyMappingDatabaseOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(_noCachingConfig); utData.AddDtoMapping <ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOnlyWriteDbAsync(context); var runner = new ActionServiceInOnlyAsync <IBizActionInOnlyWriteDbAsync, BizDataIn>(true, utData.WrappedConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT await runner.RunBizActionDbAndInstanceAsync(context, bizInstance, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }
public async Task TestValidation(int num, bool hasErrors, bool doNotValidateSaveChanges) { //SETUP var config = new GenericBizRunnerConfig { TurnOffCaching = true, DoNotValidateSaveChanges = doNotValidateSaveChanges }; var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(config); utData.AddDtoMapping <ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOutWriteDbAsync(context); var runner = new ActionServiceInOutAsync <IBizActionInOutWriteDbAsync, BizDataIn, BizDataOut>(true, utData.WrappedConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = await runner.RunBizActionDbAndInstanceAsync <ServiceLayerBizOutDto>(context, bizInstance, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }
public void TestActionServiceValueInOutDatabaseOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var bizInstance = new BizActionInOutWriteDb(context); var runner = new ActionService <IBizActionInOutWriteDb>(context, bizInstance, _wrappedConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = runner.RunBizAction <BizDataOut>(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); data.ShouldBeNull(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); data.Output.ShouldEqual(num.ToString()); } } }
public async Task TestResetDtoGenericActionsDtoBad() { //SETUP var service = new ActionServiceAsync <IBizActionOutOnly>(_emptyDbContext, new BizActionOutOnly(), _wrappedConfig); var data = new ServiceLayerBizInDto(); //ATTEMPT var ex = await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.ResetDtoAsync(data)); //VERIFY ex.Message.ShouldEqual("The action with interface of IBizActionOutOnly does not have an input, but you called it with a method that needs an input."); }
public void TestResetDtoGenericActionsDtoBad() { //SETUP var service = new ActionService <IBizActionOutOnly>(_emptyDbContext, new BizActionOutOnly(), _mapper, _noCachingConfig); var data = new ServiceLayerBizInDto(); //ATTEMPT var ex = Assert.Throws <InvalidOperationException>(() => service.ResetDto(data)); //VERIFY ex.Message.ShouldEqual("The action with interface of IBizActionOutOnly does not have an input, but you called it with a method that needs an input."); }
public void TestBizInMappingDto() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(); //ATTEMPT var input = new ServiceLayerBizInDto { Num = 234 }; var data = utData.WrappedConfig.ToBizIMapper.Map <BizDataIn>(input); //VERIFY data.Num.ShouldEqual(234); }
public async Task TestBizInCopyAsyncSyncDtoOk() { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = await copier.DoCopyToBizAsync <BizDataIn>(null, mapper, input); //VERIFY data.Num.ShouldEqual(234); }
public void TestSetupSecondaryDataDtoOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT copier.SetupSecondaryDataIfRequired(null, status, input); //VERIFY input.SetupSecondaryDataCalled.ShouldBeTrue(); }
public async Task TestSetupSecondaryDataSyncDtoOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, true); var input = new ServiceLayerBizInDto { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT await copier.SetupSecondaryDataIfRequiredAsync(null, status, input); //VERIFY input.SetupSecondaryDataCalled.ShouldBeTrue(); }
public async Task TestBizInCopyAsyncSyncDtoOk() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, true); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = await copier.DoCopyToBizAsync <BizDataIn>(null, utData.WrappedConfig.ToBizIMapper, input); //VERIFY data.Num.ShouldEqual(234); }
public async Task Test11ResetDtoGenericActionsOk() { //SETUP var service = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, new BizActionInOutAsync(), _wrappedConfig); var data = new ServiceLayerBizInDto { Num = 123 }; //ATTEMPT await service.ResetDtoAsync(data); //VERIFY data.ShouldNotBeNull(); data.Num.ShouldEqual(123); data.SetupSecondaryDataCalled.ShouldBeTrue(); }
public void TestActionServiceInOnlyMappingOk(int num, bool hasErrors) { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOnly(); var runner = new ActionServiceInOnly <IBizActionInOnly, BizDataIn>(false, _noCachingConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT runner.RunBizActionDbAndInstance(_dbContext, bizInstance, mapper, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); }
public void TestResetDtoGenericActionsOk() { //SETUP var service = new ActionService <IBizActionInOut>(_emptyDbContext, new BizActionInOut(), _mapper, _noCachingConfig); var data = new ServiceLayerBizInDto { Num = 123 }; //ATTEMPT service.ResetDto(data); //VERIFY data.ShouldNotBeNull(); data.Num.ShouldEqual(123); data.SetupSecondaryDataCalled.ShouldBeTrue(); }
public void TestBizInCopyOk() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, true); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = copier.DoCopyToBiz <BizDataIn>(null, utData.WrappedConfig.ToBizIMapper, input); //VERIFY data.Num.ShouldEqual(234); input.CopyToBizDataCalled.ShouldBeTrue(); input.SetupSecondaryDataCalled.ShouldBeFalse(); }
public void TestProfileOnDto() { //SETUP var config = new MapperConfiguration(cfg => { cfg.AddProfile(new ServiceLayerBizInDto()); }); var mapper = config.CreateMapper(); //ATTEMPT var input = new ServiceLayerBizInDto { Num = 234 }; var data = mapper.Map <BizDataIn>(input); //VERIFY data.Num.ShouldEqual(234); }
public void TestActionServiceInOnlyMappingOk(int num, bool hasErrors) { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(_noCachingConfig); utData.AddDtoMapping <ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOnly(); var runner = new ActionServiceInOnly <IBizActionInOnly, BizDataIn>(false, utData.WrappedConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT runner.RunBizActionDbAndInstance(_dbContext, bizInstance, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); }
public void TestViaAddAutoMapper() { //SETUP IServiceCollection services = new ServiceCollection(); services.AddAutoMapper(); var mapper = ((MapperConfiguration)services[0].ImplementationInstance).CreateMapper(); //ATTEMPT var input = new ServiceLayerBizInDto { Num = 234 }; var data = mapper.Map <BizDataIn>(input); //VERIFY data.Num.ShouldEqual(234); }
public void TestBizInCopyOk() { //SETUP var config = new MapperConfiguration(cfg => { cfg.AddProfile(new ServiceLayerBizInDto()); }); var mapper = config.CreateMapper(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = copier.DoCopyToBiz <BizDataIn>(null, mapper, input); //VERIFY data.Num.ShouldEqual(234); input.CopyToBizDataCalled.ShouldBeTrue(); input.SetupSecondaryDataCalled.ShouldBeFalse(); }
public void TestRegisterBizRunnerDtosFoundOk() { //SETUP var service = new ServiceCollection(); DbContext emptyDbContext = new TestDbContext(SqliteInMemory.CreateOptions <TestDbContext>()); service.RegisterBizRunnerWithDtoScans <TestDbContext>(Assembly.GetAssembly(typeof(ServiceLayerBizInDto))); var diProvider = service.BuildServiceProvider(); //ATTEMPT var wrappedConfig = diProvider.GetRequiredService <IWrappedBizRunnerConfigAndMappings>(); var bizInstance = new BizActionInOut(); var runner = new ActionService <IBizActionInOut>(emptyDbContext, bizInstance, wrappedConfig); var input = new ServiceLayerBizInDto { Num = 123 }; var result = runner.RunBizAction <ServiceLayerBizOutDto>(input); //VERIFY runner.Status.HasErrors.ShouldBeFalse(); result.Output.ShouldEqual("123"); }
public async Task TestActionServiceInOutDtosOk(int num, bool hasErrors) { //SETUP var bizInstance = new BizActionInOnlyAsync(); var runner = new ActionServiceAsync <IBizActionInOnlyAsync>(_emptyDbContext, bizInstance, _wrappedConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT await runner.RunBizActionAsync(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { bizInstance.Message.ShouldEqual("Failed with 1 error"); } else { bizInstance.Message.ShouldEqual("All Ok"); } }
public void TestActionServiceInOutDtosOk(int num, bool hasErrors) { //SETUP var bizInstance = new BizActionInOnly(); var runner = new ActionService <IBizActionInOnly>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT runner.RunBizAction(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { bizInstance.Message.ShouldEqual("Failed with 1 error"); } else { bizInstance.Message.ShouldEqual("All Ok"); } }
public async Task TestActionServiceAsyncInOutSyncDtosOk(int num, bool hasErrors) { //SETUP var bizInstance = new BizActionInOutAsync(); var runner = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, _wrappedConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = await runner.RunBizActionAsync <ServiceLayerBizOutDto>(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { data.ShouldBeNull(); bizInstance.Message.ShouldEqual("Failed with 1 error"); } else { data.Output.ShouldEqual(num.ToString()); } }
public void TestActionServiceInOutMappingOk(int num, bool hasErrors) { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>(); var bizInstance = new BizActionInOut(); var runner = new ActionServiceInOut <IBizActionInOut, BizDataIn, BizDataOut>(false, _noCachingConfig); var inDto = new ServiceLayerBizInDto { Num = num }; //ATTEMPT var data = runner.RunBizActionDbAndInstance <ServiceLayerBizOutDto>(_dbContext, bizInstance, mapper, inDto); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { data.ShouldBeNull(); } else { data.Output.ShouldEqual(inDto.Num.ToString()); } }