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 TestActionServiceDtosDatabaseValidationOk(int num, bool hasErrors) { //SETUP var options = SqliteInMemory.CreateOptions <TestDbContext>(); using (var context = new TestDbContext(options)) { context.Database.EnsureCreated(); var bizInstance = new BizActionInOnlyWriteDbAsync(context); var runner = new ActionServiceAsync <IBizActionInOnlyWriteDbAsync>(context, bizInstance, _wrappedConfig); var input = new ServiceLayerBizInDto { Num = num }; //ATTEMPT await runner.RunBizActionAsync(input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); if (hasErrors) { context.LogEntries.Any().ShouldBeFalse(); input.SetupSecondaryDataCalled.ShouldBeTrue(); } else { context.LogEntries.Single().LogText.ShouldEqual(num.ToString()); } } }