public async Task GetHackerNewsStories()
        {
            try
            {
                List <int> stories = await _service.GetHackerNewsStories(HackerNewsEnums.StoryType.newstories);

                Assert.IsTrue(stories.Count > 0, "Retrieved New Stories");

                stories = await _service.GetHackerNewsStories(HackerNewsEnums.StoryType.askstories);

                Assert.IsTrue(stories.Count > 0, "Retrieved Ask Stories");

                stories = await _service.GetHackerNewsStories(HackerNewsEnums.StoryType.beststories);

                Assert.IsTrue(stories.Count > 0, "Retrieved Best Stories");

                stories = await _service.GetHackerNewsStories(HackerNewsEnums.StoryType.topstories);

                Assert.IsTrue(stories.Count > 0, "Retrieved Top Stories");
            }
            catch (AssertFailedException ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Example #2
0
        public async Task <IActionResult> GetStories([FromRoute] string storyType)
        {
            if (Enum.IsDefined(typeof(HackerNewsEnums.StoryType), storyType))
            {
                var itemList = await _service.GetHackerNewsStories((HackerNewsEnums.StoryType) Enum.Parse(typeof(HackerNewsEnums.StoryType), storyType));

                var stories = await _service.GetHackerNewsItemDetails(itemList);

                return(Ok(stories));
            }
            else
            {
                return(BadRequest("Story Typoe does not exist."));
            }
        }
Example #3
0
        public async Task <IActionResult> GetStoriesAndDetails([FromRoute] string storyType,
                                                               [FromQuery] int iteration = 1, [FromQuery] int requestSize = 30)
        {
            if (Enum.IsDefined(typeof(HackerNewsEnums.StoryType), storyType))
            {
                var itemList = await _service.GetHackerNewsStories((HackerNewsEnums.StoryType) Enum.Parse(typeof(HackerNewsEnums.StoryType), storyType));

                itemList = itemList.Skip((iteration - 1) * requestSize).Take(requestSize).ToList();
                var stories = await _service.GetHackerNewsItemDetailsV2(itemList);

                return(Ok(stories));
            }
            else
            {
                return(BadRequest("Story Typoe does not exist."));
            }
        }