public async Task Succeed_WhenUserNotVoted() { var options = TestUtils.GetOptions(nameof(Succeed_WhenUserNotVoted)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Users.AddAsync(TestHelper.TestUser2()); await arrangeContext.Movies.AddAsync(TestHelper.TestMovie1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.AddReviewToMovieAsync(1, TestHelper.TestUser2().Id, "Perfect movie.", 5); var movie = review.Movie; Assert.IsTrue(movie.TotalRating == 10); Assert.IsTrue(movie.AverageRating == 5); Assert.IsTrue(movie.NumberOfVotes == 2); Assert.IsTrue(assertContext.Reviews.Count() == 1); } }
public async Task Succeed_ReturnCollection() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnCollection)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Genres.AddAsync(TestHelper.TestGenre1()); await arrangeContext.Movies.AddAsync(TestHelper.TestMovie100()); await arrangeContext.Movies.AddAsync(TestHelper.TestMovie200()); await arrangeContext.MoviesGenres.AddAsync(TestHelper.MoviesGenres1()); await arrangeContext.MoviesGenres.AddAsync(TestHelper.MoviesGenres2()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new GenreService(assertContext); var moviesByGenre = await sut.ShowMoviesByGenreAsync("Drama"); Assert.AreEqual(moviesByGenre.Count, 2); } }
public async Task Succeed_ReturnCollection() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnCollection)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Movies.AddAsync(TestHelper.TestMovie100()); await arrangeContext.Actors.AddAsync(TestHelper.TestActor100()); await arrangeContext.Actors.AddAsync(TestHelper.TestActor200()); await arrangeContext.MoviesActors.AddAsync(TestHelper.TestMoviesActors100()); await arrangeContext.MoviesActors.AddAsync(TestHelper.TestMoviesActors200()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new MovieService(assertContext); var allActorsByMovie = await sut.AllActorsByMovieAsync(100); Assert.AreEqual(allActorsByMovie.Count, 2); } }
public async Task ReturnCorrect_RatingIsNotSet() { var options = TestUtils.GetOptions(nameof(ReturnCorrect_RatingIsNotSet)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview3()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var rating = await sut.AddReviewToMovieAsync(TestHelper.TestMovie2().Id, TestHelper.TestUser1().Id, "Perfect movie!", 3); var movie = rating.Movie; Assert.AreEqual(8, movie.TotalRating); Assert.IsTrue(movie.AverageRating == 4); Assert.IsTrue(movie.NumberOfVotes == 2); Assert.IsTrue(assertContext.Reviews.Count() == 1); } }
public async Task Succeed_ReturnMovie() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnMovie)); using (var assertContext = new MoviesCatalogContext(options)) { var sut = new MovieService(assertContext); DateTime releaseDate = DateTime.Now; var movie = await sut.CreateMovieAsync("Movie 01", "Trailer", "Poster", null, "Description", releaseDate, "3c57e188 - 409f - 447b - a55d - 37e450df359e"); var user = new ApplicationUser() { UserName = "******" }; movie.User = user; Assert.AreEqual(movie.Title, "Movie 01"); Assert.AreEqual(movie.Trailer, "Trailer"); Assert.AreEqual(movie.Poster, "Poster"); Assert.AreEqual(movie.Description, "Description"); Assert.AreEqual(movie.User.UserName, "peter"); Assert.AreEqual(movie.ReleaseDate, releaseDate); } }
public async Task Return_Null() { var options = TestUtils.GetOptions(nameof(Return_Null)); using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.GetReviewByIdAsync(1); Assert.IsNull(review); } }
public async Task Succeed_ReturnGenre() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnGenre)); using (var assertContext = new MoviesCatalogContext(options)) { var sut = new GenreService(assertContext); var genre = await sut.CreateGenreAsync("drama"); Assert.AreEqual(genre.Name, "drama"); } }
public async Task Return_Null() { var options = TestUtils.GetOptions(nameof(Return_RightActor)); using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var actor = await sut.FindActorByNameAsync("Brad", "Pit"); Assert.IsNull(actor); } }
public async Task Return_Null() { var options = TestUtils.GetOptions(nameof(Return_Null)); using (var assertContext = new MoviesCatalogContext(options)) { var mockedService = new Mock <IServiceProvider>(); var sut = new UserService(assertContext, mockedService.Object); var user = await sut.GetUserByIdAsync(TestHelper.TestUser1().Id); Assert.IsNull(user); } }
public async Task Succeed_ReturnActor() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnActor)); using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var actor = await sut.CreateActorAsync("Brad", "Pit", null, "Very good actor"); Assert.AreEqual(actor.FirstName, "Brad"); Assert.AreEqual(actor.LastName, "Pit"); Assert.AreEqual(actor.Biography, "Very good actor"); } }
public async Task Return_True() { var options = TestUtils.GetOptions(nameof(Return_True)); using (var arrangeContext = new MoviesCatalogContext(options)) { arrangeContext.Reviews.Add(TestHelper.TestReview1()); arrangeContext.SaveChanges(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); Assert.IsTrue(await sut.DidUserAlreadyVoteForMovieAsync (1, TestHelper.TestUser1().Id)); } }
public async Task Return_Null() { var options = TestUtils.GetOptions(nameof(Return_RightActor)); using (var arrangeContext = new MoviesCatalogContext(options)) { arrangeContext.Actors.Add(TestHelper.TestActor1()); arrangeContext.SaveChanges(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var actor = await sut.GetActorByIdAsync(TestHelper.TestActor1().Id); Assert.AreEqual(actor.Id, TestHelper.TestActor1().Id); } }
public async Task Return_RightReview() { var options = TestUtils.GetOptions(nameof(Return_RightReview)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.GetReviewByIdAsync(1); Assert.AreEqual(review.Id, 1); } }
public async Task ThrowExeption_ReviewIsDeleted() { var options = TestUtils.GetOptions(nameof(ThrowExeption_ReviewIsDeleted)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview3()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var ex = await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.EditReviewAsync(TestHelper.TestReview3(), TestHelper.TestUser2().Id, 3, "very nice movie")); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.ReviewNotPresent)); } }
public async Task Succeed_ReturnCheck() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnCheck)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Movies.AddAsync(TestHelper.TestMovie100()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new MovieService(assertContext); var isMovieExists = await sut.IsMovieExistAsync("Movie 100"); Assert.IsTrue(isMovieExists); } }
public async Task Return_Succeed() { var options = TestUtils.GetOptions(nameof(Return_Succeed)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.DeleteReviewAsync(TestHelper.TestReview1().Id, TestHelper.TestUser1().Id); Assert.IsTrue(review.IsDeleted); } }
public async Task Succeed_Return() { var options = TestUtils.GetOptions(nameof(Succeed_Return)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Movies.AddAsync(TestHelper.TestMovie100()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new MovieService(assertContext); var getMovieById = await sut.GetMovieByIdAsync(100); Assert.AreEqual(getMovieById.Title, "Movie 100"); } }
public async Task Return_RightCollection() { var options = TestUtils.GetOptions(nameof(Return_RightCollection)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Actors.AddAsync(TestHelper.TestActor1()); await arrangeContext.MoviesActors.AddAsync(TestHelper.MoviesActors4()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var actors = await sut.ShowActorMoviesAsync(TestHelper.TestActor1().Id); Assert.AreEqual(actors.Count, 1); } }
public async Task Succeed_ReturnActor() { var options = TestUtils.GetOptions(nameof(Succeed_ReturnActor)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Actors.AddAsync(TestHelper.TestActor1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var actor = await sut.UpdateActorAsync(TestHelper.TestActor1(), "image1.jpg", "Very nice one"); Assert.AreEqual(actor.Biography, "Very nice one"); Assert.AreEqual(actor.Picture, "image1.jpg"); } }
public async Task ThrowExeption_WhenUserIsVoted() { var options = TestUtils.GetOptions(nameof(ThrowExeption_WhenUserIsVoted)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var ex = await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.AddReviewToMovieAsync(TestHelper.TestMovie1().Id, TestHelper.TestUser1().Id, "Perfect movie!", 3)); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserAlreadyVoted, TestHelper.TestUser1().UserName, TestHelper.TestMovie1().Title)); } }
public async Task ThrowsExeption_WhenActorExistInMovie() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenActorExistInMovie)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.MoviesActors.AddAsync(TestHelper.MoviesActors1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.AddActorToMovieAsync(TestHelper.TestMovie1().Id, TestHelper.TestActor1().Id)); //Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserAlreadyVoted, // TestHelper.TestUser1().UserName, TestHelper.TestMovie1().Title)); } }
public async Task Return_RightUser() { var options = TestUtils.GetOptions(nameof(Return_RightUser)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Users.AddAsync(TestHelper.TestUser1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var mockedService = new Mock <IServiceProvider>(); var sut = new UserService(assertContext, mockedService.Object); var user = await sut.GetUserByIdAsync(TestHelper.TestUser1().Id); Assert.AreEqual(user.Id, TestHelper.TestUser1().Id); } }
public async Task Succeed_AddActorWhenDoesNotExistInMovie() { var options = TestUtils.GetOptions(nameof(Succeed_AddActorWhenDoesNotExistInMovie)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Actors.AddAsync(TestHelper.TestActor1()); await arrangeContext.Movies.AddAsync(TestHelper.TestMovie1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ActorService(assertContext); var movie = await sut.AddActorToMovieAsync(TestHelper.TestMovie1().Id, TestHelper.TestActor1().Id); Assert.AreEqual(movie.MoviesActors.Count, 1); } }
public async Task Return_RightCollection() { var options = TestUtils.GetOptions(nameof(Return_RightCollection)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Genres.AddAsync(TestHelper.TestGenre1()); await arrangeContext.Genres.AddAsync(TestHelper.TestGenre2()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new GenreService(assertContext); var genres = await sut.GetAllGenresAsync(); Assert.AreEqual(genres.Count, 2); } }
public async Task ThrowExeption_WhenReviewNotFromUser() { var options = TestUtils.GetOptions(nameof(ThrowExeption_WhenReviewNotFromUser)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview1()); await arrangeContext.Users.AddAsync(TestHelper.TestUser2()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var ex = await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.DeleteReviewAsync(TestHelper.TestReview1().Id, TestHelper.TestUser2().Id)); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.ReviewNotFromUser, TestHelper.TestUser2().UserName)); } }
public async Task Succeed_WhenReviewIsFromUser() { var options = TestUtils.GetOptions(nameof(Succeed_WhenReviewIsFromUser)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Reviews.AddAsync(TestHelper.TestReview1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.EditReviewAsync(TestHelper.TestReview1(), TestHelper.TestUser1().Id, 3, "Very nice movie"); var movie = review.Movie; Assert.IsTrue(movie.TotalRating == 4); Assert.IsTrue(movie.NumberOfVotes == 1); Assert.IsTrue(assertContext.Reviews.Count() == 1); } }
public async Task SetCorrect_WhenReviewIsNotActive() { var options = TestUtils.GetOptions(nameof(SetCorrect_WhenReviewIsNotActive)); using (var arrangeContext = new MoviesCatalogContext(options)) { await arrangeContext.Users.AddAsync(TestHelper.TestUser1()); await arrangeContext.Reviews.AddAsync(TestHelper.TestReview2()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new MoviesCatalogContext(options)) { var sut = new ReviewService(assertContext); var review = await sut.AddReviewToMovieAsync(TestHelper.TestMovie1().Id, TestHelper.TestUser1().Id, "Perfect movie!", 3); Assert.AreEqual("Perfect movie!", review.Description); Assert.AreEqual(3, review.Rating); Assert.IsTrue(!review.IsDeleted); } }
public UserService(MoviesCatalogContext context, IServiceProvider serviceProvider) { this.context = context ?? throw new ArgumentNullException(nameof(context)); this.serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); }
public ActorService(MoviesCatalogContext context) { this.context = context ?? throw new ArgumentNullException(nameof(context)); }