Esempio n. 1
0
        public async Task GetById_ValidCall()
        {
            var mock   = AutoMock.GetLoose();
            var series = new SeriesDetailsDto();

            mock.Mock <ISeriesService>().Setup(x => x.DetailsAsync(1)).Returns(Task.FromResult(series));
            var controller = mock.Create <SeriesController>();

            var result = await controller.GetById(1);

            mock.Mock <ISeriesService>().Verify(x => x.DetailsAsync(1), Times.Once);
            Assert.IsType <OkObjectResult>(result.Result);
        }
Esempio n. 2
0
        public async Task <ActionResult <Series> > GetSingleSeries(int id)
        {
            _logger.LogInformation($"Requesting Series with Id: {id}");

            var series = await _context.Series
                         .Include(s => s.Episodes)
                         .Include(s => s.Writers).ThenInclude(sw => sw.Artist)
                         .Include(s => s.Cast).ThenInclude(sc => sc.Artist)
                         .Include(s => s.Categories).ThenInclude(sc => sc.Category)
                         .Include(s => s.Reviews)
                         .Where(s => s.SeriesId == id)
                         .FirstOrDefaultAsync();

            if (series == null)
            {
                _logger.LogWarning($"Series with Id: {id} was not found");
                return(NotFound());
            }
            else
            {
                var seriesDetails = new SeriesDetailsDto
                {
                    SeriesId   = series.SeriesId,
                    Categories = _mapper.Map <List <CategoryDto> >(series.Categories.Select(sc => sc.Category).ToList()),
                    //Reviews = _mapper.Map<List<SeriesReviewDto>>(series.Reviews.ToList()),
                    Cast    = _mapper.Map <List <ActorWithRoleDto> >(series.Cast.ToList()),
                    Writers = series.Writers.Select(s => new WriterDto {
                        ArtistId = s.ArtistId, Name = s.Artist.Name
                    }).ToList(),
                    RatingAverage = series.Reviews.Any() ? series.Reviews.Average(r => r.Rating) : 0,
                    RatingsCount  = series.Reviews.Count(),
                    CoverImageUrl = series.CoverImageUrl,
                    Description   = series.Description,
                    SeasonNumbers = series.Episodes.Select(e => e.Season).Distinct().ToList(),
                    StartYear     = series.StartYear,
                    EndYear       = series.EndYear,
                    Title         = series.Title
                };
                _logger.LogInformation($"Series with Id: {id} was found, returning data");
                return(Ok(seriesDetails));
            }
        }