public void EditCmdShouldAddChangesResultTrue() { var items = new List <OrderModel> { new OrderModel { Id = Guid.NewGuid() } }; IList <OrderProductModel> links = new List <OrderProductModel>(); RepositoryMock .Setup(repository => repository.GetProductsByOrderAsync(items[0].Id, It.IsAny <CancellationToken>())) .Returns(Task.FromResult(links)); var wrapper = SetupEditableWrapper(true); InitializeRepository(items); var viewModel = GetViewModel <OrderWorkspaceViewModel>(); viewModel.GridViewModel.SelectedItem = items[0]; viewModel.EditOrderCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); RepositoryMock.Verify( repository => repository.GetProductsByOrderAsync(items[0].Id, It.IsAny <CancellationToken>()), Times.Once); }
public void EditCmdShouldUseCommandParameterToShowProductEditorViewModel() { var items = new List <ProductModel> { new ProductModel { Id = Guid.NewGuid() } }; bool isInitialized = false; Mock <IEditorWrapperViewModel> wrapper = SetupEditableWrapper(false, vm => { var editorViewModel = (ProductEditorViewModel)vm; editorViewModel.EntityInitialized += (model, args) => { Assert.AreEqual(args.OriginalEntity, items[0]); isInitialized = true; }; }); InitializeProductRepository(items); var viewModel = GetViewModel <ProductWorkspaceViewModel>(); viewModel.GridViewModel.SelectedItem = null; viewModel.EditProductCommand.Execute(items[0]); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); Assert.IsTrue(isInitialized); }
public void AddCmdShouldShowOrderEditorViewModel() { var wrapper = SetupEditableWrapper(false, vm => Assert.IsInstanceOfType(vm, typeof(OrderEditorViewModel))); InitializeRepository(); var viewModel = GetViewModel <OrderWorkspaceViewModel>(); viewModel.AddOrderCommand.Execute(null); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); }
public void OpenOrdersCommandShouldOpenOrderWorkspaceViewModel() { var viewModel = GetViewModel <MainViewModel>(); Assert.AreEqual(viewModel.ItemsSource.Count, 0); viewModel.OpenOrdersCommand.Execute(null); ViewModelPresenterMock.Verify( presenter => presenter.ShowAsync(It.Is <IViewModel>(model => model is OrderWorkspaceViewModel), It.IsAny <IDataContext>()), Times.Once()); }
public void AddCmdShouldAddChangesResultTrue() { Mock <IEditorWrapperViewModel> wrapper = SetupEditableWrapper(true); InitializeProductRepository(); var viewModel = GetViewModel <ProductWorkspaceViewModel>(); viewModel.AddProductCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); Assert.IsNotNull(viewModel.GridViewModel.OriginalItemsSource.Single()); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); }
public void AddCmdShouldNotAddChangesResultFalse() { var wrapper = SetupEditableWrapper(false); InitializeRepository(); var viewModel = GetViewModel <OrderWorkspaceViewModel>(); viewModel.AddOrderCommand.Execute(null); Assert.IsFalse(viewModel.HasChanges); Assert.AreEqual(viewModel.GridViewModel.OriginalItemsSource.Count, 0); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); }
public void EditCmdShouldAddChangesResultTrue() { var items = new List <ProductModel> { new ProductModel { Id = Guid.NewGuid() } }; Mock <IEditorWrapperViewModel> wrapper = SetupEditableWrapper(true); InitializeProductRepository(items); var viewModel = GetViewModel <ProductWorkspaceViewModel>(); viewModel.GridViewModel.SelectedItem = items[0]; viewModel.EditProductCommand.Execute(null); Assert.IsTrue(viewModel.HasChanges); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); }
public void EditCmdShouldUseCommandParameterToShowOrderEditorViewModel() { var items = new List <OrderModel> { new OrderModel { Id = Guid.NewGuid() } }; bool isInitialized = false; IList <OrderProductModel> links = new List <OrderProductModel> { new OrderProductModel() }; RepositoryMock .Setup(repository => repository.GetProductsByOrderAsync(items[0].Id, It.IsAny <CancellationToken>())) .Returns(Task.FromResult(links)); var wrapper = SetupEditableWrapper(false, vm => { var editorViewModel = (OrderEditorViewModel)vm; editorViewModel.EntityInitialized += (model, args) => { Assert.AreEqual(args.OriginalEntity, items[0]); Assert.IsTrue(editorViewModel.OldLinks.SequenceEqual(links)); isInitialized = true; }; }); InitializeRepository(items); var viewModel = GetViewModel <OrderWorkspaceViewModel>(); viewModel.GridViewModel.SelectedItem = null; viewModel.EditOrderCommand.Execute(items[0]); ViewModelPresenterMock.Verify(model => model.ShowAsync(wrapper.Object, It.IsAny <IDataContext>()), Times.Once); RepositoryMock.Verify( repository => repository.GetProductsByOrderAsync(items[0].Id, It.IsAny <CancellationToken>()), Times.Once); Assert.IsTrue(isInitialized); }