public void TestCallHasNoInputBad()
        {
            //SETUP
            var bizInstance = new BizActionValueInOut();
            var runner      = new ActionService <IBizActionValueInOut>(_emptyDbContext, bizInstance, _wrappedConfig);

            //ATTEMPT
            var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction <string>());

            //VERIFY
            ex.Message.ShouldEqual("Your call of IBizActionValueInOut needed 'Out' but the Business class had a different setup of 'InOut'");
        }
        public void TestUseAsyncBizInWithSyncBad()
        {
            //SETUP
            var bizInstance = new BizActionValueInOut();
            var runner      = new ActionService <IBizActionValueInOut>(_emptyDbContext, bizInstance, _wrappedConfig);
            var input       = new ServiceLayerBizInDtoAsync();

            //ATTEMPT
            var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction <string>(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 BizActionValueInOut();
            var runner      = new ActionService <IBizActionValueInOut>(_emptyDbContext, bizInstance, _wrappedConfig);
            var input       = "string";

            //ATTEMPT
            var ex = Assert.Throws <InvalidOperationException>(() => runner.RunBizAction <string>(input));

            //VERIFY
            ex.Message.ShouldEqual("Indirect copy to biz action. from type = String, to type Int32. Expected a DTO of type GenericActionToBizDto<Int32,String>");
        }
Esempio n. 4
0
        public void TestActionServiceInOutValuesOk(int input, bool hasErrors)
        {
            //SETUP
            var mapper      = SetupHelpers.CreateMapper <ServiceLayerBizInDto>(); //doesn't need a mapper, but mapper msutn't be null
            var bizInstance = new BizActionValueInOut();
            var runner      = new ActionServiceInOut <IBizActionValueInOut, int, string>(false, _noCachingConfig);

            //ATTEMPT
            var data = runner.RunBizActionDbAndInstance <string>(_dbContext, bizInstance, mapper, input);

            //VERIFY
            bizInstance.HasErrors.ShouldEqual(hasErrors);
            if (hasErrors)
            {
                data.ShouldBeNull();
            }
            else
            {
                data.ShouldEqual(input.ToString());
            }
        }
Esempio n. 5
0
        public void TestActionServiceInOutValuesOk(int input, bool hasErrors)
        {
            //SETUP
            var utData      = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(_noCachingConfig);
            var bizInstance = new BizActionValueInOut();
            var runner      = new ActionServiceInOut <IBizActionValueInOut, int, string>(false, utData.WrappedConfig);

            //ATTEMPT
            var data = runner.RunBizActionDbAndInstance <string>(_dbContext, bizInstance, input);

            //VERIFY
            bizInstance.HasErrors.ShouldEqual(hasErrors);
            if (hasErrors)
            {
                data.ShouldBeNull();
            }
            else
            {
                data.ShouldEqual(input.ToString());
            }
        }
        public void TestActionServiceValueInOutDirectOk(int num, bool hasErrors)
        {
            //SETUP
            var bizInstance = new BizActionValueInOut();
            var runner      = new ActionService <IBizActionValueInOut>(_emptyDbContext, bizInstance, _wrappedConfig);
            var input       = num;

            //ATTEMPT
            var data = runner.RunBizAction <string>(input);

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