public async Task MovieTest() { string inputMovieId = "ab10101010"; string outputMovieId; // Seed the test database using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); RepoLogic repoLogic = new RepoLogic(context); // Test CreateMovie() IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); await movieController.CreateMovie(inputMovieId); } using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { var gmMovie = context.Movies.FirstOrDefault <Repository.Models.Movie>(m => m.MovieId == inputMovieId); outputMovieId = gmMovie.MovieId; } Assert.Equal(inputMovieId, outputMovieId); }
public async Task PatchExistingMovieTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(); Movie outputMovie; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test AppendMovie() await movieController.AppendMovie(inputMovie.ImdbId, TestingHelper.GetRandomMovie()); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { outputMovie = context.Movies.FirstOrDefault(m => m.ImdbId == inputMovie.ImdbId); } Assert.NotEqual(inputMovie.Title, outputMovie.Title); }
public void DeleteMovieTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(); Movie outputMovie; using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test DeleteMovie() movieController.DeleteMovie(inputMovie.ImdbId); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { outputMovie = context.Movies.FirstOrDefault(m => m.ImdbId == inputMovie.ImdbId); } Assert.Null(outputMovie); }
public async Task PostTagTest() { var inputMovie = TestingHelper.GetRandomMovie(); var inputTag = TestingHelper.GetRandomTaggingDTO(inputMovie.ImdbId); MovieTagUser movieTagUser; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test TagMovie() await movieController.TagMovie(inputTag); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { movieTagUser = context.MovieTagUsers.FirstOrDefault(m => m.ImdbId == inputTag.MovieId); } Assert.Equal(inputTag.MovieId, movieTagUser.ImdbId); Assert.Equal(inputTag.TagName, movieTagUser.TagName); Assert.Equal(inputTag.UserId, movieTagUser.UserId); }
public void GetTagsTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(0, 0, 0, 0, 3); List <string> results; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test GetAllTags() results = movieController.GetAllTags().Value; } Assert.Contains(inputMovie.MovieTags[0], results); Assert.Contains(inputMovie.MovieTags[1], results); Assert.Contains(inputMovie.MovieTags[2], results); }
public async Task RecommendedMoviesByUserIdTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(); inputMovie.ImdbId = "tt4154796"; string userId = Guid.NewGuid().ToString(); List <MovieDTO> results; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); var followingMovie = new FollowingMovie(); followingMovie.ImdbId = inputMovie.ImdbId; followingMovie.UserId = userId; context.FollowingMovies.Add(followingMovie); context.SaveChanges(); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); MovieLogic movieLogic = new MovieLogic(repoLogic); // Test RecommendedMoviesByUserId() results = await movieLogic.RecommendedMoviesByUserId(userId); } Assert.True(results.Count > 0); }
public void SearchRatingTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(0, 0, 0, 0, 0); List <string> searchResults; var filters = new Dictionary <string, string[]>(); Console.WriteLine(inputMovie); filters.Add("Rating", new string[] { inputMovie.RatingName }); // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); TestingHelper.AddMovieDTOToDatabase(context, TestingHelper.GetRandomMovie(0, 0, 0, 0, 0)); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test SearchMovies() searchResults = movieController.SearchMovies(filters).Value; } Assert.Equal(inputMovie.ImdbId, searchResults[0]); }
public void UnbanTagTest() { var inputMovie = TestingHelper.GetRandomMovie(); var inputTag = TestingHelper.GetRandomTaggingDTO(inputMovie.ImdbId); bool inputBanState = true; Tag tag; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); TestingHelper.AddTagToDatabase(context, inputTag, inputBanState); RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test UnbanTag() movieController.UnbanTag(inputTag.TagName); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { tag = context.Tags.FirstOrDefault(t => t.TagName == inputTag.TagName); } Assert.False(tag.IsBanned); }
public void SearchActorTagTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(1, 1, 1, 1, 1); MovieDTO unmatchedMovie = TestingHelper.GetRandomMovie(1, 1, 1, 1, 1); unmatchedMovie.MovieActors[0] = inputMovie.MovieActors[0]; List <string> searchResults; var filters = new Dictionary <string, string[]>(); filters.Add("Actor", new string[] { inputMovie.MovieActors[0] }); filters.Add("Tag", new string[] { inputMovie.MovieTags[0] }); // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); TestingHelper.AddMovieDTOToDatabase(context, unmatchedMovie); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test SearchMovies() searchResults = movieController.SearchMovies(filters).Value; } Assert.Equal(inputMovie.ImdbId, searchResults[0]); }
public GettingMoviesTest() { var mockMapper = new MapperConfiguration(cfg => cfg.AddProfile(new MappingProfile())); _mapper = mockMapper.CreateMapper(); movieLogic = new MovieLogic(new MovieContextMock(), _mapper); }
public async Task GetMovieTest() { MovieDTO inputMovie = TestingHelper.GetRandomMovie(); MovieDTO outputMovie; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); // Test GetMovie() outputMovie = (await movieController.GetMovie(inputMovie.ImdbId)).Value; } Assert.Equal(inputMovie.ImdbId, outputMovie.ImdbId); }
public void DeleteFollowedMovieTest() { var dbOptions = TestingHelper.GetUniqueContextOptions <Cinephiliacs_MovieContext>(); MovieDTO inputMovie = TestingHelper.GetRandomMovie(); string userId = Guid.NewGuid().ToString(); List <string> followedMovies; // Seed the test database using (var context = new Cinephiliacs_MovieContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); TestingHelper.AddMovieDTOToDatabase(context, inputMovie); RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); // Test FollowMovie() movieLogic.FollowMovie(inputMovie.ImdbId, userId); movieLogic.UnfollowMovie(inputMovie.ImdbId, userId); } using (var context = new Cinephiliacs_MovieContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); IMovieLogic movieLogic = new MovieLogic(repoLogic); // Test FollowMovie() followedMovies = movieLogic.GetFollowingMovies(userId); } Assert.DoesNotContain(inputMovie.ImdbId, followedMovies); }
public MoviesIntegrationTests() { var mockMapper = new MapperConfiguration(cfg => cfg.AddProfile(new MappingProfile())); _mapper = mockMapper.CreateMapper(); movieLogic = new MovieLogic(new MovieRepository(new DatabaseMovie(new DatabaseConnection("Server = mssql.fhict.local; Database = dbi409997; User Id = dbi409997; Password = Ikbencool20042000!;"))), _mapper); }
/// <summary> /// Ctor /// </summary> /// <param name="logger">Logger injected</param> /// <param name="movieRepository">Movie repository injected</param> /// <param name="movieExternalService">Movie external service injected</param> public HomeController( ILogger <HomeController> logger, IMovieRepository movieRepository, IMovieExternalService movieExternalService) { _logger = logger; _movieLogic = new MovieLogic(movieRepository, movieExternalService); }
public async Task <ActionResult <MovieDto> > DeleteAsync(int id) { if (!MovieLogic.MovieExists(id)) { return(NotFound()); } var Movie = await MovieLogic.DeleteMovieAsync(id); return(Ok(Movie)); }
public async Task <ActionResult <MovieDto> > GetMovie(int id) { var Movie = await MovieLogic.GetMovieAsync(id); if (Movie == null) { return(NotFound()); } return(Ok(Movie)); }
public void MovieLogicTests_SearchMoviesByTitleAndYear() { IOMDbConnection omdbConnection = new DummyOMDbCon(); IDataCache dataCache = new DummyDataCache(); IMovieData movieData = new DummyMovieData(); IMovieLogic movieLogic = new MovieLogic(omdbConnection, dataCache, movieData); var movie = movieLogic.SearchMoviesByTitle("Movie1", "1990").Result; Console.WriteLine(JsonConvert.SerializeObject(movie)); }
public void MovieLogicTests_SearchMoviesByID() { IOMDbConnection omdbConnection = new DummyOMDbCon(); IDataCache dataCache = new DummyDataCache(); IMovieData movieData = new DummyMovieData(); IMovieLogic movieLogic = new MovieLogic(omdbConnection, dataCache, movieData); var movie = movieLogic.SearchMoviesByID("00000").Result; Console.WriteLine(""); }
public void MovieLogicTests_GetCachedMovies() { IOMDbConnection omdbConnection = new DummyOMDbCon(); IDataCache dataCache = new DummyDataCache(); IMovieData movieData = new DummyMovieData(); IMovieLogic movieLogic = new MovieLogic(omdbConnection, dataCache, movieData); var movies = movieLogic.GetCachedMovies(); Console.WriteLine(JsonConvert.SerializeObject(movies)); }
public void MovieLogicTests_PutCachedMovieExisting() { IOMDbConnection omdbConnection = new DummyOMDbCon(); IDataCache dataCache = new DummyDataCache(); IMovieData movieData = new DummyMovieData(); IMovieLogic movieLogic = new MovieLogic(omdbConnection, dataCache, movieData); movieLogic.PutCachedMovie("00000", DummyMovies.NewMovie); Console.WriteLine(); }
public void MovieLogicTests_DelCachedMovie() { IOMDbConnection omdbConnection = new DummyOMDbCon(); IDataCache dataCache = new DummyDataCache(); IMovieData movieData = new DummyMovieData(); IMovieLogic movieLogic = new MovieLogic(omdbConnection, dataCache, movieData); movieLogic.DelCachedMovie("00000"); Console.WriteLine(); }
public async Task <ActionResult <MovieDto> > UpdateMovie(int id, [FromBody] MovieDto movie) { if (id != movie.Id) { return(BadRequest()); } if (!MovieLogic.MovieExists(id)) { return(NotFound()); } MovieDto returnMovie = await MovieLogic.UpdateMovieAsync(movie); return(Ok(returnMovie)); }
public void Setup() { _iMovieContext = new MovieMemoryContext(); _iGenreContext = new GenreMemoryContext(); _iPlaylistContext = new PlaylistMemoryContext(); _iMediaContext = new MediaMemoryContext(); _iRatingContext = new RatingMemoryContext(); _genreLogic = new GenreLogic(_iGenreContext); _searchLogic = new SearchLogic(_genreLogic); _playlistLogic = new PlaylistLogic(_iPlaylistContext, _iMediaContext); _mediaLogic = new MediaLogic(_iMediaContext); _ratingLogic = new RatingLogic(_iRatingContext, _mediaLogic); _movieLogic = new MovieLogic(_iMovieContext, _genreLogic, _searchLogic, _playlistLogic, _mediaLogic, _ratingLogic); _testGenre1 = new GenreModel("test1", 1); }
public void TestRecommendedMoviesReturnListMovie() { //Arrange string movieId = "tt0178207"; //Act IMovieLogic ml = new MovieLogic(null); var res = ml.RecommendedMovies(movieId); string actual = res.Status.ToString(); string expected = "WaitingForActivation"; //Assert Assert.Equal(expected, actual); }
public async Task <ActionResult <MovieDto> > AddMovieToEpisode(int id, int episodeId, [FromBody] MovieEpisodeDto movieEpisode) { movieEpisode.MovieId = id; movieEpisode.EpisodeId = episodeId; if (!MovieLogic.MovieExists(id)) { return(NotFound()); } if (!PodcastLogic.PodcastExists(episodeId)) { return(NotFound()); } var returnMovie = await MovieLogic.AddMovieToEpisodeAsync(movieEpisode); return(CreatedAtAction("GetMovie", new { id = returnMovie.Id }, returnMovie)); }
public void TestRecommendedMoviesUnknownUserReturnError() { //Arrange string userId = "random_user"; //Act IMovieLogic ml = new MovieLogic(null); var res = ml.RecommendedMoviesByUserId(userId); string actual = res.Status.ToString(); string expected = "Faulted"; //Assert Assert.Equal(expected, actual); }
public async Task ReviewsPageTest() { GlobalModels.Review inputGMReview; GlobalModels.Review outputGMReview; RelatedDataSet dataSetA = new RelatedDataSet("JimmyJimerson", "ab10101010", "Theory"); // Seed the test database using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); inputGMReview = BusinessLogic.Mapper.RepoReviewToReview(dataSetA.Review); RepoLogic repoLogic = new RepoLogic(context); // Load Database entries for the object-under-test's foreign keys await repoLogic.AddUser(dataSetA.User); await repoLogic.AddMovie(dataSetA.Movie.MovieId); // Test CreateReview() IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); await movieController.CreateReview(inputGMReview); } using (var context = new Repository.Models.Cinephiliacs_DbContext(dbOptions)) { RepoLogic repoLogic = new RepoLogic(context); // Test GetReviews() IMovieLogic movieLogic = new MovieLogic(repoLogic); MovieController movieController = new MovieController(movieLogic); await movieController.SetReviewsPageSize(10); List <GlobalModels.Review> gmReviewList = (await movieController.GetReviewsPage(dataSetA.Movie.MovieId, 1, "ratingasc")).Value; outputGMReview = gmReviewList .FirstOrDefault <GlobalModels.Review>(r => r.Movieid == dataSetA.Movie.MovieId); } Assert.Equal(inputGMReview, outputGMReview); }
public void Setup() { // NOTE: DI framework should be used here _movieLogic = new MovieLogic(new MovieRepositoryAdapter(), new MovieExternalServiceAdapter()); }
public MovieLogicTests() { movieLogic = new MovieLogic(DBContextFactory.GetMockedDbContext()); }
public MovieController(MovieLogic movieLogic, GenreLogic genreLogic, IHostingEnvironment hostingEnvironment) { _movieLogic = movieLogic; _genreLogic = genreLogic; _hostingEnvironment = hostingEnvironment; }