Example #1
0
        public void TestValidation(int num, bool hasErrors, bool doNotValidateSaveChanges)
        {
            //SETUP
            var config = new GenericBizRunnerConfig {
                TurnOffCaching = true, DoNotValidateSaveChanges = doNotValidateSaveChanges
            };
            var options = SqliteInMemory.CreateOptions <TestDbContext>();

            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureCreated();
                var mapper      = SetupHelpers.CreateMapper <ServiceLayerBizInDto, ServiceLayerBizOutDto>();
                var bizInstance = new BizActionInOutWriteDb(context);
                var runner      = new ActionServiceInOut <IBizActionInOutWriteDb, BizDataIn, BizDataOut>(true, config);
                var inDto       = new ServiceLayerBizInDto {
                    Num = num
                };

                //ATTEMPT
                var data = runner.RunBizActionDbAndInstance <ServiceLayerBizOutDto>(context, bizInstance, mapper, inDto);

                //VERIFY
                bizInstance.HasErrors.ShouldEqual(hasErrors);
                if (hasErrors)
                {
                    context.LogEntries.Any().ShouldBeFalse();
                }
                else
                {
                    context.LogEntries.Single().LogText.ShouldEqual(num.ToString());
                }
            }
        }
        public void TestActionServiceValueInOutDatabaseOk(int num, bool hasErrors)
        {
            //SETUP
            var options = SqliteInMemory.CreateOptions <TestDbContext>();

            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureCreated();

                var bizInstance = new BizActionInOutWriteDb(context);
                var runner      = new ActionService <IBizActionInOutWriteDb>(context, bizInstance, _wrappedConfig);
                var input       = new ServiceLayerBizInDto {
                    Num = num
                };

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

                //VERIFY
                bizInstance.HasErrors.ShouldEqual(hasErrors);
                if (hasErrors)
                {
                    context.LogEntries.Any().ShouldBeFalse();
                    data.ShouldBeNull();
                }
                else
                {
                    context.LogEntries.Single().LogText.ShouldEqual(num.ToString());
                    data.Output.ShouldEqual(num.ToString());
                }
            }
        }