public void Reset_InAnyCase_CallsRepositoryReset() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); // Act IActionResult result = new CachedTreeController(treeRepository).Reset(); // Assert treeRepository.Received().Reset(); Assert.That(result, Is.TypeOf <NoContentResult>()); }
public void GetNodes_RepositoryReturnsNull_ReturnsEmptyList() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); treeRepository.GetAll().Returns((List <TreeNode>)null); var cachedTreeController = new CachedTreeController(treeRepository); // Act IEnumerable <TreeNode> nodes = cachedTreeController.GetNodes().Value; // Assert Assert.That(nodes, Is.Empty); }
public void GetNode_NodeNotExists_ReturnsNotFoundResult() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); treeRepository.Load(Arg.Any <Guid>()).Returns((TreeNode)null); var cachedTreeController = new CachedTreeController(treeRepository); // Act ActionResult result = cachedTreeController.GetNode(Arg.Any <Guid>()).Result; // Assert Assert.That(result, Is.TypeOf <NotFoundResult>()); }
public void DeleteNode_NodeIdNotValid_DoesNotCallRepositoryDelete() { // Arrange Guid id = Guid.NewGuid(); var treeRepository = Substitute.For <ICachedTreeRepository>(); treeRepository.GetById(id).Returns((TreeNode)null); // Act IActionResult result = new CachedTreeController(treeRepository).DeleteNode(id); // Assert treeRepository.DidNotReceive().Delete(Arg.Any <TreeNode>()); Assert.That(result, Is.TypeOf <NotFoundResult>()); }
public void AddNode_NewNodeIsValid_ReturnsCreatedAtActionWithNewId() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); Guid newId = Guid.NewGuid(); treeRepository.Add(Arg.Do <TreeNode>(node => node.Id = newId)); var cachedTreeController = new CachedTreeController(treeRepository); // Act ActionResult result = cachedTreeController.AddNode(new TreeNode()).Result; // Assert Assert.That(result, Is.TypeOf <CreatedAtActionResult>()); Assert.That(((CreatedAtActionResult)result).RouteValues["id"], Is.EqualTo(newId)); }
public void UpdateNode_NodeIdNotValid_CallsRepositoryUpdate() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); // Act IActionResult result = new CachedTreeController(treeRepository).UpdateNode( Guid.NewGuid(), new TreeNode { Id = Guid.NewGuid() }); // Assert treeRepository.DidNotReceive().Update(Arg.Any <TreeNode>()); Assert.That(result, Is.TypeOf <BadRequestResult>()); }
public void UpdateNode_NodeIsValid_CallsRepositoryUpdate() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); Guid id = Guid.NewGuid(); var node = new TreeNode { Id = id }; // Act IActionResult result = new CachedTreeController(treeRepository).UpdateNode(id, node); // Assert treeRepository.Received().Update(node); Assert.That(result, Is.TypeOf <NoContentResult>()); }
public void GetNode_NodeExists_ReturnsNode() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); var expectedNode = new TreeNode { Id = Guid.NewGuid(), IsDeleted = true, ParentId = Guid.NewGuid(), Value = "text" }; treeRepository.Load(expectedNode.Id).Returns(expectedNode); var cachedTreeController = new CachedTreeController(treeRepository); // Act TreeNode node = cachedTreeController.GetNode(expectedNode.Id).Value; // Assert Assert.That(node, Is.EqualTo(expectedNode)); }
public void GetNodes_NodesExists_ReturnsNodes() { // Arrange var treeRepository = Substitute.For <ICachedTreeRepository>(); var expectedNodes = new List <TreeNode> { new TreeNode { Id = Guid.NewGuid(), IsDeleted = true, ParentId = Guid.NewGuid(), Value = "text" } }; treeRepository.GetAll().Returns(expectedNodes); var cachedTreeController = new CachedTreeController(treeRepository); // Act IEnumerable <TreeNode> nodes = cachedTreeController.GetNodes().Value; // Assert Assert.That(nodes, Is.EquivalentTo(expectedNodes)); }