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 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 TestActionServiceInOutValuesOkAsync(int num, bool hasErrors) { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto>(); //doesn't need a mapper, but mapper msutn't be null var bizInstance = new BizActionInOutAsync(); var runner = new ActionServiceInOutAsync <IBizActionInOutAsync, BizDataIn, BizDataOut>(false, _noCachingConfig); var input = new BizDataIn { Num = num }; //ATTEMPT var data = await runner.RunBizActionDbAndInstanceAsync <BizDataOut>(_dbContext, bizInstance, mapper, input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { data.ShouldBeNull(); } else { data.Output.ShouldEqual(num.ToString()); } }