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(); }
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(); }