public async Task AddRoleToMovieShouldAddRoleProperly() { var genre1 = new Genre { Name = "genre1" }; 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 = genre1, Director = artist1, CoverImageLink = "cover1", TrailerLink = "trailer1", }; await dbContext.Genres.AddAsync(genre1); await dbContext.Artists.AddAsync(artist1); await dbContext.Movies.AddAsync(movie1); await dbContext.SaveChangesAsync(); var movieService = new MovieService(dbContext, reviewService.Object, watchlistService.Object, mapper); var input = new AddMovieRoleInputModel { Artist = "name1", Movie = "movie1", CharacterPlayed = "character1", }; var actualResult = await movieService.AddRoleToMovieAsync(input); Assert.True(actualResult); Assert.True(dbContext.MovieRoles.Count() == 1); Assert.Equal(movie1, dbContext.MovieRoles.First().Movie); Assert.Equal(artist1, dbContext.MovieRoles.First().Artist); Assert.Equal("character1", dbContext.MovieRoles.First().CharacterPlayed); }
public async Task AddRoleToMovieShouldReturnFalseIfProvidedArtistOrMovieNameIsInvalid(string movieName, string artistName, bool expectedResult) { var genre1 = new Genre { Name = "genre1" }; var artist1 = new Artist { FullName = "name1", Biography = "biography1", BirthDate = DateTime.Parse("25 July 2019"), PhotoLink = "photo1", }; var artist2 = new Artist { FullName = "name2", Biography = "biography2", BirthDate = DateTime.Parse("24 July 2019"), PhotoLink = "photo2", }; var movie1 = new Movie { Name = "movie1", ReleaseDate = DateTime.Parse("24 July 2019"), Description = "description1", Length = 160, Genre = genre1, Director = artist1, CoverImageLink = "cover1", TrailerLink = "trailer1", }; var movieRole = new MovieRole { Movie = movie1, Artist = artist2, CharacterPlayed = "something", }; await dbContext.Genres.AddAsync(genre1); await dbContext.Artists.AddAsync(artist1); await dbContext.Artists.AddAsync(artist2); await dbContext.Movies.AddAsync(movie1); await dbContext.MovieRoles.AddAsync(movieRole); await dbContext.SaveChangesAsync(); var movieService = new MovieService(dbContext, reviewService.Object, watchlistService.Object, mapper); var input = new AddMovieRoleInputModel { Artist = artistName, Movie = movieName, CharacterPlayed = "character1", }; var actualResult = await movieService.AddRoleToMovieAsync(input); Assert.True(actualResult == expectedResult); }