public void ShouldDoNothingWhenTryingToAddTableWhenNoNodeIsSelected() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var tableToAdd = viewModel.Model.Tables.First(); commandHandler.AddTableToNode(tableToAdd); }
public void ShouldMergeTheTopNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var nodeToMerge = viewModel.SelectedExecutionNode; commandHandler.MergeNodeWithParentNode(nodeToMerge); commandHandler.MergeNodeWithParentNode(null); }
public void ShouldAddParentNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var oldSelectedNode = viewModel.SelectedExecutionNode; commandHandler.AddParentNode(viewModel.SelectedExecutionNode); Assert.That(viewModel.SelectedExecutionNode, Is.Not.EqualTo(oldSelectedNode)); }
public void ShouldAddTableToNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var tableToAdd = new TableEntity("dbo", "Countries"); commandHandler.AddTableToNode(tableToAdd); Assert.That(viewModel.SelectedExecutionNode.Tables.Where(x => x.FullName.Equals(tableToAdd.FullName)).Count(), Is.EqualTo(1), "Added table should be in collection"); Assert.That(viewModel.SelectedExecutionNode.Tables.Contains(tableToAdd), Is.False, "Added table should not be the same table, it should be cloned and be a new entity"); }
public void ShouldRemoveNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var nodeToRemove = viewModel.SelectedExecutionNode.Children.First(); viewModel.SelectedExecutionNode = nodeToRemove; commandHandler.RemoveNode(nodeToRemove); Assert.That(viewModel.SelectedExecutionNode, Is.EqualTo(nodeToRemove.Parent)); }
public void ShouldMoveTableUpAndDownInTheListOfTables() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); Assert.That(viewModel.SelectedExecutionNode.Tables.Count(), Is.EqualTo(2)); var tableToMove = viewModel.SelectedExecutionNode.Tables.Last(); commandHandler.MoveTableUp(tableToMove); Assert.That(viewModel.SelectedExecutionNode.Tables.First(), Is.EqualTo(tableToMove)); commandHandler.MoveTableDown(tableToMove); Assert.That(viewModel.SelectedExecutionNode.Tables.Last(), Is.EqualTo(tableToMove)); }
public void ShouldMergWithparentNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); var nodeToMerge = viewModel.SelectedExecutionNode.Children.First(); var oldParent = nodeToMerge.Parent; // Set selected so that we can see that it is changed viewModel.SelectedExecutionNode = viewModel.SelectedExecutionNode.Children.First(); commandHandler.MergeNodeWithParentNode(nodeToMerge); Assert.That(viewModel.SelectedExecutionNode, Is.EqualTo(oldParent)); }
public void ShouldAddChildNodeAndMarkItAsSelected() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); int nodeCountBeforeAdd = viewModel.SelectedExecutionNode.Children.Count(); var nodeToManipulate = viewModel.SelectedExecutionNode; commandHandler.AddChildNode(nodeToManipulate); Assert.That(nodeToManipulate.Children.Count(), Is.GreaterThan(nodeCountBeforeAdd)); Assert.That(nodeToManipulate.Children.Last().RepeatCount, Is.EqualTo(1)); Assert.That(nodeToManipulate.Children.Last().NodeName, Is.EqualTo(string.Empty)); var addedNode = nodeToManipulate.Children.Last(); Assert.That(viewModel.SelectedExecutionNode, Is.EqualTo(addedNode)); }
public void ShouldDeleteTableFromExecutionNode() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); Assert.That(viewModel.SelectedExecutionNode.Tables.Count(), Is.EqualTo(2)); var tableToDelete = viewModel.SelectedExecutionNode.Tables.First(); commandHandler.RemoveTableFromSelectedNode(tableToDelete); Assert.That(viewModel.SelectedExecutionNode.Tables.Count(), Is.EqualTo(1)); Assert.That(viewModel.SelectedExecutionNode.Tables.Contains(tableToDelete), Is.False); tableToDelete = viewModel.SelectedExecutionNode.Tables.First(); commandHandler.RemoveTableFromSelectedNode(tableToDelete); Assert.That(viewModel.SelectedExecutionNode.Tables.Count(), Is.EqualTo(0)); Assert.That(viewModel.SelectedExecutionNode.Tables.Contains(tableToDelete), Is.False); commandHandler.RemoveTableFromSelectedNode(tableToDelete); Assert.That(viewModel.SelectedExecutionNode.Tables.Count, Is.EqualTo(0), "Removing a table that does not exist in the list should not do anything"); }
public void ShouldInstansiate() { var viewModel = new ProjectViewModel(dataService); ProjectViewModelCommandHandler commandHandler = new ProjectViewModelCommandHandler(viewModel); }