public async Task GetByTitle_WithInvalidInput_ShouldReturnInvalidResult(string title) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); Assert.Null(service.GetByTitle <TVShowViewModel>(title)); }
public async Task GetAllByQuery_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var result = service.GetAllByQuery <TVShowViewModel>("1").ToList(); Assert.Single(result); }
public async Task GetById_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var result = service.GetById <TVShowViewModel>(1); Assert.Equal(1, result.Id); }
public async Task Delete_WithValidInput_ShouldReturnRemoveTVShow() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var tvshow = service.GetById <TVShowsEditModel>(1); var result = service.Delete(tvshow); Assert.Equal(1, dbContext.TVShows.Count()); }
public async Task Create_WithInvalidInput_ShouldThrowException() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var input = new TVShowsCreateModel() { }; await Assert.ThrowsAsync <ArgumentNullException>(() => service.Create(input)); }
public async Task Edit_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var viewModel = new TVShowsEditModel() { Title = "Edited", }; var result = service.Edit(viewModel); Assert.Equal("Edited", viewModel.Title); }
public async Task Create_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var tvshowRepository = new EfDeletableEntityRepository <TVShow>(dbContext); var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext); var service = new TVShowsService(tvshowRepository, genresRepository); var input = new TVShowsCreateModel() { Title = "Titanic", Country = "USA", GenreId = 1, }; var movie = service.Create(input); var result = service.GetByTitle <TVShowViewModel>("Titanic"); Assert.Equal("USA", result.Country); }