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");
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }
예제 #7
0
        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");
            }
        }