public void GetMovieByIdErrorTest() { // Arrange var mock = new Mock <IMoviesRepository>(); var moviesService = new MoviesService(mock.Object); // Act mock.Setup(s => s.GetById("movie-id")).Returns(new Error <Movie>(new DatabaseContextException("Database context error."))); var result = moviesService.GetById("movie-id"); // Assert switch (result) { case OK <Movie> ok: Assert.Fail(); break; case Error <Movie> error: Assert.AreEqual(typeof(DatabaseContextException), error.Exception.GetType()); Assert.AreEqual(error.Message, "GetById-method repository exception."); break; default: throw new NotImplementedException(); } }
public async Task GetByIdExistingShouldReturnNotNullObject() { var options = new DbContextOptionsBuilder <NetPhlixDbContext>() .UseInMemoryDatabase("Test") .Options; var dbContext = new NetPhlixDbContext(options); await dbContext.Movies.AddAsync( new Movie() { Id = "first" } ); await dbContext.SaveChangesAsync(); var mappingConfig = new MapperConfiguration( mc => { mc.AddProfiles( typeof(MoviesProfile), typeof(UsersProfile), typeof(CompaniesProfile), typeof(ReviewsProfile), typeof(PeopleProfile), typeof(EventsProfile), typeof(AdminProfile) ); }); IMapper mapper = mappingConfig.CreateMapper(); var service = new MoviesService(mapper, dbContext); var movie = await service.GetById("first"); Assert.NotNull(movie); }
public void GetByIdShouldReturnFilmWithCorrectIdNumber() { var options = new DbContextOptionsBuilder <MoviesDbContext>() .UseInMemoryDatabase(databaseName: nameof(GetByIdShouldReturnFilmWithCorrectIdNumber)) .Options; using (var context = new MoviesDbContext(options)) { var movieService = new MoviesService(context); var addedMovie = movieService.Create(new ExamenNet.ViewModels.MoviePostModel { Title = "Testare", Director = "dir1", DateAdded = new DateTime(), Duration = 100, Description = "asdvadfbdbsb", Genre = "Comedy", ReleaseYear = 2000, Rating = 3, Watched = 0 }, null); var theMovie = movieService.GetById(1); Assert.AreEqual("Testare", theMovie.Title); } }
public void GetMovieByIdOkTest() { // Arrange var mock = new Mock <IMoviesRepository>(); var moviesService = new MoviesService(mock.Object); var movie = new Movie { MovieId = "movie-id", Title = "movie-title" }; // Act mock.Setup(s => s.GetById("movie-id")).Returns(new OK <Movie>(movie)); var result = moviesService.GetById("movie-id"); // Assert switch (result) { case OK <Movie> ok: Assert.AreEqual("movie-title", ok.Result.Title); break; case Error <Movie> error: Console.WriteLine(error.Message); break; default: throw new NotImplementedException(); } }
public void GetByIdShouldReturnNull() { var repository = new EfDeletableEntityRepository <Movie>(new ApplicationDbContext(this.options.Options)); var service = new MoviesService(repository); var result = service.GetById <TestMovieViewModel>(5); Assert.Null(result); }
public ActionResult <Movie> GetById(int id) { try { return(Ok(_ms.GetById(id))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task GetById_WithInvalidInput_ShouldReturnInvalidResult(int id) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var moviesRepository = new EfDeletableEntityRepository <Movie>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new MoviesService(moviesRepository, genresRepository); Assert.Null(service.GetById <MovieViewModel>(id)); }
public async Task GetByIdShouldReturnTheCorrectData() { var repository = new EfDeletableEntityRepository <Movie>(new ApplicationDbContext(this.options.Options)); var service = new MoviesService(repository); await service.AddAsync(this.movie); AutoMapperConfig.RegisterMappings(typeof(TestMovieViewModel).Assembly); var result = service.GetById <TestMovieViewModel>(1); Assert.Equal("Taxi", result.Name); Assert.Equal(7.1, result.Rating); Assert.Equal(1998, result.Year); }
public async Task Delete_WithValidInput_ShouldReturnRemoveMovie() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var moviesRepository = new EfDeletableEntityRepository <Movie>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new MoviesService(moviesRepository, genresRepository); var movie = service.GetById <MovieEditModel>(1); var result = service.Delete(movie); Assert.Equal(1, dbContext.Movies.Count()); }
public async Task GetByIdShouldReturnValidMovie() { AutoMapperConfig.RegisterMappings(typeof(MovieTestModel).Assembly); var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repository = new EfDeletableEntityRepository <Movie>(new ApplicationDbContext(options.Options)); await repository.AddAsync(new Movie { Id = 1, Name = "Movie1" }); await repository.AddAsync(new Movie { Id = 2, Name = "Movie2" }); await repository.SaveChangesAsync(); var service = new MoviesService(repository, null, null, null); var movie = service.GetById <MovieTestModel>(2); Assert.Equal(2, movie.Id); Assert.Equal("Movie2", movie.Name); }