public async Task HigherReviewsShouldBeRankedAboveLowerReviews() { _context.Add(new Review { FriendId = 2, TapeId = 1, Rating = 5 }); _context.Add(new Review { FriendId = 2, TapeId = 2, Rating = 4 }); _context.SaveChanges(); var service = new RecommendationService(_context); var recommendations = await service.GetRecommendations(1); var enumerable = recommendations as Tape[] ?? recommendations.ToArray(); Assert.Equal(10, enumerable.Count()); Assert.Equal(1, enumerable[0].Id); Assert.Equal(2, enumerable[1].Id); }
public async Task NoReviews_ShouldGet10Recommendations() { var service = new RecommendationService(_context); var recommendations = await service.GetRecommendations(1); Assert.Equal(10, recommendations.Count()); }
public async Task OneReview_ReviewedTapeShouldBeFirst() { _context.Add(new Review { FriendId = 2, TapeId = 1, Rating = 5 }); _context.SaveChanges(); var service = new RecommendationService(_context); var recommendations = await service.GetRecommendations(1); var enumerable = recommendations as Tape[] ?? recommendations.ToArray(); Assert.Equal(10, enumerable.Count()); Assert.Equal(1, enumerable.First().Id); }
public async Task <IActionResult> GetUserRecommendations([FromRoute] int friendId) { var recommendations = await RecommendationService.GetRecommendations(friendId); return(Ok(recommendations.ToDtos())); }