Ejemplo n.º 1
0
        public async Task TestActionServiceAsyncInOutAsyncDtosOk(int num, bool hasErrors)
        {
            //SETUP
            var mapper      = SetupHelpers.CreateMapper <ServiceLayerBizInDtoAsync, ServiceLayerBizOutDtoAsync>();
            var bizInstance = new BizActionInOutAsync();
            var runner      = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, mapper, _noCachingConfig);
            var input       = new ServiceLayerBizInDtoAsync {
                Num = num
            };

            //ATTEMPT
            var data = await runner.RunBizActionAsync <ServiceLayerBizOutDtoAsync>(input);

            //VERIFY
            bizInstance.HasErrors.ShouldEqual(hasErrors);
            if (hasErrors)
            {
                data.ShouldBeNull();
                bizInstance.Message.ShouldEqual("Failed with 1 error");
            }
            else
            {
                data.Output.ShouldEqual(num.ToString());
            }
        }
Ejemplo n.º 2
0
        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());
            }
        }
Ejemplo n.º 3
0
        public async Task TestCallHasNoInputBad()
        {
            //SETUP
            var bizInstance = new BizActionInOutAsync();
            var runner      = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig);

            //ATTEMPT
            var ex = await Assert.ThrowsAsync <InvalidOperationException>(async() => await runner.RunBizActionAsync <string>());

            //VERIFY
            ex.Message.ShouldEqual("Your call of IBizActionInOutAsync needed 'Out, Async' but the Business class had a different setup of 'InOut, Async'");
        }
Ejemplo n.º 4
0
        public async Task TestInputIsBad()
        {
            //SETUP
            var bizInstance = new BizActionInOutAsync();
            var runner      = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, _wrappedConfig);
            var input       = "string";

            //ATTEMPT
            var ex = await Assert.ThrowsAsync <InvalidOperationException>(async() => await runner.RunBizActionAsync <string>(input));

            //VERIFY
            ex.Message.ShouldEqual("Indirect copy to biz action. from type = String, to type BizDataIn. Expected a DTO of type GenericActionToBizDto<BizDataIn,String>");
        }
Ejemplo n.º 5
0
        public async Task TestActionServiceErrorInSetupOk()
        {
            //SETUP
            var bizInstance = new BizActionInOutAsync();
            var runner      = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, _mapper, _noCachingConfig);
            var input       = await runner.GetDtoAsync <ServiceLayerBizInDto>(x => { x.RaiseErrorInSetupSecondaryData = true; });

            //ATTEMPT
            await runner.RunBizActionAsync <ServiceLayerBizOutDtoAsync>(input);

            //VERIFY
            bizInstance.HasErrors.ShouldEqual(true);
            bizInstance.Errors.Single().ErrorMessage.ShouldEqual("Error in SetupSecondaryData");
        }
Ejemplo n.º 6
0
        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());
            }
        }
Ejemplo n.º 7
0
        public async Task TestActionServiceAsyncInOutDirectOk(int num, bool hasErrors)
        {
            //SETUP
            var bizInstance = new BizActionInOutAsync();
            var runner      = new ActionServiceAsync <IBizActionInOutAsync>(_emptyDbContext, bizInstance, _wrappedConfig);
            var input       = new BizDataIn {
                Num = num
            };

            //ATTEMPT
            var data = await runner.RunBizActionAsync <BizDataOut>(input);

            //VERIFY
            bizInstance.HasErrors.ShouldEqual(hasErrors);
            if (hasErrors)
            {
                data.ShouldBeNull();
                bizInstance.Message.ShouldEqual("Failed with 1 error");
            }
            else
            {
                data.Output.ShouldEqual(num.ToString());
            }
        }