public void RemoveCmdShouldAddChangesResultYes() { var items = new List <ProductModel> { new ProductModel { Id = Guid.NewGuid() } }; MessagePresenterMock .Setup(box => box.ShowAsync(It.IsAny <string>(), It.IsAny <string>(), MessageButton.YesNo, MessageImage.Question, It.IsAny <MessageResult>(), It.IsAny <IDataContext>())) .Returns(Task.FromResult(MessageResult.Yes)); InitializeProductRepository(items); var viewModel = GetViewModel <ProductWorkspaceViewModel>(); viewModel.GridViewModel.SelectedItem = items[0]; viewModel.RemoveProductCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); Assert.AreEqual(viewModel.GridViewModel.OriginalItemsSource.Count, 0); MessagePresenterMock .Verify(model => model.ShowAsync(It.IsAny <string>(), It.IsAny <string>(), MessageButton.YesNo, MessageImage.Question, It.IsAny <MessageResult>(), It.IsAny <IDataContext>()), Times.Once); }
public void VmShouldNotBeClosedHasChangesResultCancel() { RepositoryMock .Setup(repository => repository.SaveAsync(It.IsAny <IEnumerable <IEntityStateEntry> >(), It.IsAny <CancellationToken>())) .Returns(() => Empty.TrueTask); MessagePresenterMock .Setup(box => box.ShowAsync(It.IsAny <string>(), It.IsAny <string>(), MessageButton.YesNoCancel, MessageImage.Question, It.IsAny <MessageResult>(), It.IsAny <IDataContext>())) .Returns(Task.FromResult(MessageResult.Cancel)); SetupEditableWrapper(true); InitializeProductRepository(); var viewModel = GetViewModel <ProductWorkspaceViewModel>(); viewModel.AddProductCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); Assert.IsFalse(viewModel.CloseAsync(null).Result); MessagePresenterMock .Verify(model => model.ShowAsync(It.IsAny <string>(), It.IsAny <string>(), MessageButton.YesNoCancel, MessageImage.Question, It.IsAny <MessageResult>(), It.IsAny <IDataContext>()), Times.Once); RepositoryMock .Verify(repository => repository.SaveAsync(It.IsAny <IEnumerable <IEntityStateEntry> >(), It.IsAny <CancellationToken>()), Times.Never); }
public void VmShouldSaveAndRestoreStateHasChangesTrue() { var models = new List <OrderModel> { new OrderModel() }; InitializeRepository(models); var viewModel = GetViewModel <OrderWorkspaceViewModel>(); Assert.IsTrue(viewModel.GridViewModel.OriginalItemsSource.SequenceEqual(models)); RepositoryMock.Verify(repository => repository.GetOrdersAsync(It.IsAny <CancellationToken>()), Times.Once); RepositoryMock .Setup(repository => repository.GetProductsByOrderAsync(models[0].Id, It.IsAny <CancellationToken>())) .Returns(Task.FromResult <IList <OrderProductModel> >(Empty.Array <OrderProductModel>())); MessagePresenterMock .Setup( box => box.ShowAsync(It.IsAny <string>(), It.IsAny <string>(), MessageButton.YesNo, MessageImage.Question, It.IsAny <MessageResult>(), It.IsAny <IDataContext>())) .Returns(Task.FromResult(MessageResult.Yes)); viewModel.GridViewModel.SelectedItem = models[0]; viewModel.RemoveOrderCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); Assert.AreEqual(viewModel.GridViewModel.OriginalItemsSource.Count, 0); var state = new DataContext(); viewModel.SaveState(state); state = UpdateState(state); RepositoryMock.ResetCalls(); viewModel = GetViewModel <OrderWorkspaceViewModel>(); viewModel.LoadState(state); Assert.IsTrue(viewModel.HasChanges); RepositoryMock.Verify(repository => repository.GetOrdersAsync(It.IsAny <CancellationToken>()), Times.Once); Assert.AreEqual(viewModel.GridViewModel.OriginalItemsSource.Count, 0); }