public void Validate_SaveWithoutValidatorTest()
        {
            var entity = Substitute.For <ValidatedEntity>();
            var uow    = Substitute.For <IUnitOfWorkGeneric <ValidatedEntity> >();

            uow.Root.Returns(entity);
            uow.RootObject.Returns(entity);
            var uowFactory = Substitute.For <IUnitOfWorkFactory>();
            var uowBuilder = Substitute.For <IEntityUoWBuilder>();

            uowBuilder.CreateUoW <ValidatedEntity>(uowFactory).Returns(uow);
            var navigation = Substitute.For <INavigationManager>();

            var viewModel = new EntityDialogViewModelBase <ValidatedEntity>(uowBuilder, uowFactory, navigation);

            Assert.That(viewModel.Save(), Is.True);
            uow.Received().Save();
        }
Пример #2
0
        public void Validate_DontSaveIfValidationFailTest()
        {
            var entity = Substitute.For <ValidatedEntity>();
            var uow    = Substitute.For <IUnitOfWorkGeneric <ValidatedEntity> >();

            uow.Root.Returns(entity);
            uow.RootObject.Returns(entity);
            var uowFacrory = Substitute.For <IUnitOfWorkFactory>();
            var uowBuilder = Substitute.For <IEntityUoWBuilder>();

            uowBuilder.CreateUoW <ValidatedEntity>(uowFacrory).Returns(uow);
            var navigation = Substitute.For <INavigationManager>();
            var validation = Substitute.For <IValidator>();

            validation.Validate(entity, null).Returns(false);

            var viewModel = new EntityDialogViewModelBase <ValidatedEntity>(uowBuilder, uowFacrory, navigation, validation);

            Assert.That(viewModel.Save(), Is.False);
            uow.DidNotReceive().Save();
        }
        public void Validate_SaveAfterValidationTest()
        {
            var entity = Substitute.For <ValidatedEntity>();
            var uow    = Substitute.For <IUnitOfWorkGeneric <ValidatedEntity> >();

            uow.Root.Returns(entity);
            uow.RootObject.Returns(entity);
            var uowFactory = Substitute.For <IUnitOfWorkFactory>();
            var uowBuilder = Substitute.For <IEntityUoWBuilder>();

            uowBuilder.CreateUoW <ValidatedEntity>(uowFactory).Returns(uow);
            var navigation = Substitute.For <INavigationManager>();
            var validation = Substitute.For <IValidator>();

            validation.Validate(entity, Arg.Any <ValidationContext>()).Returns(true);
            validation.Validate(Arg.Any <IEnumerable <ValidationRequest> >()).Returns(true);

            var viewModel = new EntityDialogViewModelBase <ValidatedEntity>(uowBuilder, uowFactory, navigation, validation);

            Assert.That(viewModel.Save(), Is.True);
            uow.Received().Save();
        }