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);
        }
Esempio n. 2
0
        /// <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);
        }