示例#1
0
        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);
        }
示例#2
0
        public async Task NoReviews_ShouldGet10Recommendations()
        {
            var service         = new RecommendationService(_context);
            var recommendations = await service.GetRecommendations(1);

            Assert.Equal(10, recommendations.Count());
        }
示例#3
0
        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);
        }
示例#4
0
        public async Task <IActionResult> GetUserRecommendations([FromRoute] int friendId)
        {
            var recommendations = await RecommendationService.GetRecommendations(friendId);

            return(Ok(recommendations.ToDtos()));
        }