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