public void Should_flag_already_subscribed_show()
        {
            const string query = "The awesome show";

            _tvMazeService.Search(query).Returns(CreateApiResponse());
            _subscriptionQueryDataSource.GetAllSubscriptionIds().Returns(new List <int> {
                555, 888, 999
            });

            var result = _handler.Handle(new SearchTvShowQuery {
                Query = query
            });
            var show1 = result.TvShows.First();

            Assert.True(show1.IsSubscribed);
        }
        public SearchTvShowResult Handle(SearchTvShowQuery query)
        {
            var searchResult    = _tvMazeService.Search(query.Query);
            var subscribedShows = _subscriptionQueryDataSource.GetAllSubscriptionIds().ToList();

            var result = searchResult.Select(show => new TvShow
            {
                Id           = show.Id,
                Name         = show.Name,
                Link         = show.Url,
                StartedYear  = show.Premiered.Year,
                ImageUrl     = GetImageUrl(show.Image),
                IsSubscribed = CheckIfSubscribed(subscribedShows, show.Id)
            });

            return(new SearchTvShowResult
            {
                TvShows = result
            });
        }