Exemple #1
0
        public void GetMostAcclaimed_ReturnsCorrectAlbums()
        {
            // Arrange
            var context = this.ServiceProvider.GetRequiredService <WmipDbContext>();
            var album1  = new Album {
                Id = 1, Name = "Abm1", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced
            };
            var album2 = new Album {
                Id = 2, Name = "Abm2", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced
            };
            var album3 = new Album {
                Id = 3, Name = "Abm3", ApprovalStatus = ApprovalStatus.Approved, ReleaseStage = ReleaseStage.Announced
            };
            var review1 = new Review {
                AlbumId = 1, ReviewScore = 10, ReviewType = ReviewType.User
            };
            var review3 = new Review {
                AlbumId = 1, ReviewScore = 4, ReviewType = ReviewType.Critic
            };
            var review2 = new Review {
                AlbumId = 2, ReviewScore = 4, ReviewType = ReviewType.User
            };
            var review4 = new Review {
                AlbumId = 2, ReviewScore = 10, ReviewType = ReviewType.Critic
            };

            context.Albums.AddRange(album1, album2, album3);
            context.Reviews.AddRange(review1, review2, review3, review4);
            context.SaveChanges();
            var albumsService = new AlbumsService(context);

            // Act
            var userAcclaimed   = albumsService.GetMostAcclaimed(ReviewType.User, 1);
            var criticAcclaimed = albumsService.GetMostAcclaimed(ReviewType.Critic, 1);

            //Assert
            Assert.Equal(1, userAcclaimed.First().Id);
            Assert.Equal(2, criticAcclaimed.First().Id);
        }