public async Task UpdateSeasonReviewShouldUpdateReviewProperly() { var user1 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar", }; var season1 = new Season { SeasonNumber = 1, Episodes = 10, LengthPerEpisode = 29, ReleaseDate = DateTime.Parse("28 October 2016"), }; var seasonReview1 = new SeasonReview { Season = season1, User = user1, Content = "content1", Rating = 8, Date = DateTime.Parse("27 July 2019"), }; await dbContext.Seasons.AddAsync(season1); await dbContext.SeasonReviews.AddAsync(seasonReview1); await dbContext.SaveChangesAsync(); var seasonId = season1.Id; var userId = user1.Id; var reviewService = new ReviewService(dbContext, mapper); var input = new CreateReviewInputModel { Id = seasonId, Content = "content2", Rating = 7, }; var actualResult = await reviewService.UpdateSeasonReviewAsync(userId, input); Assert.True(actualResult); Assert.True(dbContext.SeasonReviews.Count() == 1); Assert.Equal(7, dbContext.SeasonReviews.First().Rating); Assert.Equal("content2", dbContext.SeasonReviews.First().Content); Assert.Equal(userId, dbContext.SeasonReviews.First().UserId); Assert.Equal(seasonId, dbContext.SeasonReviews.First().SeasonId); }
public async Task GetSeasonReviewShouldReturnCorrectModel() { var user1 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar", }; var season1 = new Season { SeasonNumber = 1, Episodes = 10, LengthPerEpisode = 29, ReleaseDate = DateTime.Parse("28 October 2016"), }; var seasonReview1 = new SeasonReview { Season = season1, User = user1, Content = "content1", Rating = 8, Date = DateTime.Parse("27 July 2019"), }; await dbContext.Seasons.AddAsync(season1); await dbContext.SeasonReviews.AddAsync(seasonReview1); await dbContext.SaveChangesAsync(); var seasonId = season1.Id; var userId = user1.Id; var reviewService = new ReviewService(dbContext, mapper); var expectedResult = new CreateReviewInputModel { Id = seasonId, Content = "content1", Rating = 8, }; var actualResult = await reviewService.GetSeasonReviewAsync(userId, seasonId); Assert.Equal(expectedResult.GetType(), actualResult.GetType()); Assert.Equal(expectedResult.Id, actualResult.Id); Assert.Equal(expectedResult.Content, actualResult.Content); Assert.Equal(expectedResult.Rating, actualResult.Rating); }
public async Task ReviewExistsShouldReturnCorrectResult() { var user1 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar", }; var artist1 = new Artist { FullName = "name1", Biography = "biography1", BirthDate = DateTime.Parse("25 July 2019"), PhotoLink = "photo1", }; var movie1 = new Movie { Name = "movie1", ReleaseDate = DateTime.Parse("24 July 2019"), Description = "description1", Length = 160, Genre = new Genre { Name = "genre1" }, Director = artist1, CoverImageLink = "cover1", TrailerLink = "trailer1", }; var season1 = new Season { SeasonNumber = 1, Episodes = 5, ReleaseDate = DateTime.UtcNow, LengthPerEpisode = 35, }; var movieReview = new MovieReview { Movie = movie1, User = user1, Content = "content1", Rating = 8, Date = DateTime.UtcNow, }; var seasonReview = new SeasonReview { Season = season1, User = user1, Content = "content2", Rating = 7, Date = DateTime.UtcNow, }; await dbContext.Movies.AddAsync(movie1); await dbContext.Seasons.AddAsync(season1); await dbContext.MovieReviews.AddAsync(movieReview); await dbContext.SeasonReviews.AddAsync(seasonReview); await dbContext.SaveChangesAsync(); var userId = user1.Id; var movieId = movie1.Id; var seasonId = season1.Id; var reviewService = new ReviewService(dbContext, mapper); var movieResult = await reviewService.ReviewExistsAsync(userId, movieId); var seasonResult = await reviewService.ReviewExistsAsync(userId, seasonId); var invalid = await reviewService.ReviewExistsAsync(userId, "invalidId"); Assert.True(movieResult); Assert.True(seasonResult); Assert.False(invalid); }
public async Task GetAllSeasonReviewsShouldReturnAllReviewsProperly() { var user1 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar", }; var user2 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar2", }; var tvShow1 = new TVShow { Name = "tvshow1", Description = "description", }; var season1 = new Season { SeasonNumber = 1, Episodes = 9, LengthPerEpisode = 56, ReleaseDate = DateTime.Parse("11 January 1998"), TVShow = tvShow1, }; var seasonReview1 = new SeasonReview { Season = season1, User = user1, Content = "content1", Rating = 8, Date = DateTime.Parse("27 July 2019"), }; var seasonReview2 = new SeasonReview { Season = season1, User = user2, Content = "content2", Rating = 9, Date = DateTime.Parse("27 July 2019"), }; await dbContext.TVShows.AddAsync(tvShow1); await dbContext.Seasons.AddAsync(season1); await dbContext.SeasonReviews.AddAsync(seasonReview1); await dbContext.SeasonReviews.AddAsync(seasonReview2); await dbContext.SaveChangesAsync(); var seasonId = season1.Id; var reviewService = new ReviewService(dbContext, mapper); var expectedResult = new List <ReviewAllViewModel> { new ReviewAllViewModel { Item = "tvshow1 Season 1", User = "******", Content = "content1", Rating = 8, Date = DateTime.Parse("27 July 2019"), }, new ReviewAllViewModel { Item = "tvshow1 Season 1", User = "******", Content = "content2", Rating = 9, Date = DateTime.Parse("27 July 2019"), }, }; var actualResult = await reviewService.GetAllSeasonReviewsAsync(seasonId); Assert.True(actualResult.Count() == 2); Assert.Equal(expectedResult[0].Item, actualResult[0].Item); Assert.Equal(expectedResult[0].User, actualResult[0].User); Assert.Equal(expectedResult[0].Content, actualResult[0].Content); Assert.Equal(expectedResult[0].Rating, actualResult[0].Rating); Assert.Equal(expectedResult[0].Date, actualResult[0].Date); Assert.Equal(expectedResult[1].Item, actualResult[1].Item); Assert.Equal(expectedResult[1].User, actualResult[1].User); Assert.Equal(expectedResult[1].Content, actualResult[1].Content); Assert.Equal(expectedResult[1].Rating, actualResult[1].Rating); Assert.Equal(expectedResult[1].Date, actualResult[1].Date); }
public async Task GetItemsInUserWatchlistShouldReturnWatchlistProperly() { var user1 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar", }; var user2 = new MovieDatabaseUser { UserName = "******", Email = "*****@*****.**", AvatarLink = "avatar2", }; var artist1 = new Artist { FullName = "name1", Biography = "biography1", BirthDate = DateTime.Parse("25 July 2019"), PhotoLink = "photo1", }; var movie1 = new Movie { Name = "movie1", ReleaseDate = DateTime.Parse("24 July 2019"), Description = "description1", Length = 160, Genre = new Genre { Name = "genre1" }, Director = artist1, CoverImageLink = "cover1", TrailerLink = "trailer1", }; var tvShow1 = new TVShow { Name = "tvShow1", Description = "description2", Genre = new Genre { Name = "genre2" }, Creator = artist1, CoverImageLink = "cover2", TrailerLink = "trailer2", }; var season1 = new Season { TVShow = tvShow1, SeasonNumber = 1, Episodes = 20, LengthPerEpisode = 45, ReleaseDate = DateTime.Parse("24 July 2019"), }; var movieUser = new MovieUser { User = user1, Movie = movie1, }; var movieUser2 = new MovieUser { User = user2, Movie = movie1, }; var movieReview = new MovieReview { User = user1, Movie = movie1, Content = "content1", Rating = 6, Date = DateTime.UtcNow, }; var tvShowUser = new TVShowUser { User = user1, TVShow = tvShow1, }; var seasonReview = new SeasonReview { User = user1, Season = season1, Content = "content2", Rating = 5, Date = DateTime.UtcNow, }; await dbContext.Users.AddAsync(user1); await dbContext.Movies.AddAsync(movie1); await dbContext.TVShows.AddAsync(tvShow1); await dbContext.Seasons.AddAsync(season1); await dbContext.MovieUsers.AddAsync(movieUser); await dbContext.MovieUsers.AddAsync(movieUser2); await dbContext.TVShowUsers.AddAsync(tvShowUser); await dbContext.MovieReviews.AddAsync(movieReview); await dbContext.SeasonReviews.AddAsync(seasonReview); await dbContext.SaveChangesAsync(); var userId = user1.Id; var movie1Id = movie1.Id; var tvShow1Id = tvShow1.Id; var watchlistService = new WatchlistService(dbContext, mapper); var expectedResult = new List <WatchlistAllViewModel> { new WatchlistAllViewModel { Id = movie1Id, Name = "movie1", ReleaseDate = DateTime.Parse("24 July 2019"), Description = "description1....", CoverImageLink = "cover1", Category = "Movies", Rating = 6, }, new WatchlistAllViewModel { Id = tvShow1Id, Name = "tvShow1", ReleaseDate = DateTime.Parse("24 July 2019"), Description = "description2....", CoverImageLink = "cover2", Category = "TVShows", Rating = 5, } }; var actualResult = await watchlistService.GetItemsInUserWatchlistAsync(userId); Assert.True(actualResult.Count() == 2); Assert.Equal(expectedResult[0].Id, actualResult[0].Id); Assert.Equal(expectedResult[0].Name, actualResult[0].Name); Assert.Equal(expectedResult[0].ReleaseDate, actualResult[0].ReleaseDate); Assert.Equal(expectedResult[0].Description, actualResult[0].Description); Assert.Equal(expectedResult[0].CoverImageLink, actualResult[0].CoverImageLink); Assert.Equal(expectedResult[0].Category, actualResult[0].Category); Assert.Equal(expectedResult[0].Rating, actualResult[0].Rating); Assert.Equal(expectedResult[1].Id, actualResult[1].Id); Assert.Equal(expectedResult[1].Name, actualResult[1].Name); Assert.Equal(expectedResult[1].ReleaseDate, actualResult[1].ReleaseDate); Assert.Equal(expectedResult[1].Description, actualResult[1].Description); Assert.Equal(expectedResult[1].CoverImageLink, actualResult[1].CoverImageLink); Assert.Equal(expectedResult[1].Category, actualResult[1].Category); Assert.Equal(expectedResult[1].Rating, actualResult[1].Rating); }