public void TestUseAsyncBizInWithSyncBad() { //SETUP var bizInstance = new BizActionInOnly(); var runner = new ActionService <IBizActionInOnly>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig); var input = new ServiceLayerBizInDtoAsync(); //ATTEMPT var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction(input)); //VERIFY ex.Message.ShouldEqual("You cannot use an Async version of the DTO in a non-async action."); }
public void TestInputIsBad() { //SETUP var bizInstance = new BizActionInOnly(); var runner = new ActionService <IBizActionInOnly>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig); var input = "string"; //ATTEMPT var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction(input)); //VERIFY ex.Message.ShouldEqual("Indirect copy to biz action. from type = String, to type BizDataIn. Expected a DTO of type GenericActionToBizDto<BizDataIn,String>"); }
public void TestCallHasOutputBad() { //SETUP var bizInstance = new BizActionInOnly(); var runner = new ActionService <IBizActionInOnly>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig); var input = "string"; //ATTEMPT var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction <string>(input)); //VERIFY ex.Message.ShouldEqual("Your call of IBizActionInOnly needed 'InOut' but the Business class had a different setup of 'In'"); }
public void TestActionServiceErrorInSetupOk() { //SETUP var bizInstance = new BizActionInOnly(); var runner = new ActionService <IBizActionInOnly>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig); var input = runner.GetDto <ServiceLayerBizInDto>(x => { x.RaiseErrorInSetupSecondaryData = true; }); //ATTEMPT runner.RunBizAction(input); //VERIFY bizInstance.HasErrors.ShouldEqual(true); bizInstance.Errors.Single().ErrorMessage.ShouldEqual("Error in SetupSecondaryData"); }
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 TestActionServiceInOnlyNoDtoOk(int num, bool hasErrors) { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(_noCachingConfig); var bizInstance = new BizActionInOnly(); var runner = new ActionServiceInOnly <IBizActionInOnly, BizDataIn>(false, utData.WrappedConfig); var input = new BizDataIn { Num = num }; //ATTEMPT runner.RunBizActionDbAndInstance(_dbContext, bizInstance, input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); }
public void TestActionServiceInOnlyNoDtoOk(int num, bool hasErrors) { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto>(); //doesn't need a mapper, but mapper msutn't be null var bizInstance = new BizActionInOnly(); var runner = new ActionServiceInOnly <IBizActionInOnly, BizDataIn>(false, _noCachingConfig); var input = new BizDataIn { Num = num }; //ATTEMPT runner.RunBizActionDbAndInstance(_dbContext, bizInstance, mapper, input); //VERIFY bizInstance.HasErrors.ShouldEqual(hasErrors); }
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"); } }