Ejemplo n.º 1
0
        public async Task ChangeRatingWorksAsync()
        {
            var searchCriteria = new SearchCriteria()
            {
                Title = "Wonder Woman"
            };

            var movies = await _movieService.SearchAsync(searchCriteria).ConfigureAwait(false);

            Assert.IsTrue(movies.Any());
            var wonderWoman = movies.FirstOrDefault();

            Assert.IsNotNull(wonderWoman);
            var originalRating = wonderWoman.AverageRating;

            await _ratingService.AddOrUpdateRatingAsync(wonderWoman.Id, 1, 1.3M);

            movies = await _movieService.SearchAsync(searchCriteria).ConfigureAwait(false);

            Assert.IsTrue(movies.Any());
            wonderWoman = movies.FirstOrDefault();
            Assert.IsNotNull(wonderWoman);

            Assert.IsFalse(originalRating == wonderWoman.AverageRating);

            //Now reinstate the rating
            await _ratingService.AddOrUpdateRatingAsync(wonderWoman.Id, 1, 3.8M);

            movies = await _movieService.SearchAsync(searchCriteria).ConfigureAwait(false);

            Assert.IsTrue(movies.Any());
            wonderWoman = movies.FirstOrDefault();
            Assert.IsNotNull(wonderWoman);

            Assert.IsTrue(originalRating == wonderWoman.AverageRating);
        }