public async Task Get_Id_GetsStoryOverview() { var id = 1; var story = new StoryOverview(); Mock.Arrange(() => service.GetStoryOverview(id)) .Returns(() => Task.FromResult(story)); // Act var result = await target.GetOverview(id); // Assert Assert.Equal(story, result); }
/// <summary> /// Gets requested story overview /// </summary> /// <param name="id">Story Id</param> /// <returns>Requested StoryOverview</returns> public async Task <StoryOverview> GetStoryOverview(int id) { var result = new StoryOverview(); result.Summary = await GetStorySummary(id); var tree = await storySectionRepository.GetTreeForStory(id); result.Actors = await nodeService.Get(new Node(id, StoryboardNodeTypes.Story), StoryboardNodeTypes.Actor); if (tree != null && tree.Hierarchies.Count != 0) { if (tree.Hierarchies.Count != 1) { throw new InvalidOperationException("Multiple Hierarchical levels not supported"); } result.Sections = tree.GetHierarchicalLevel(tree.Hierarchies[0]).ToList(); } else { result.Sections = new List <StorySection>(); } return(result); }