public async Task GetById_WithInvalidInput_ShouldReturnInvalidResult(int id) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); Assert.Null(service.GetById <ActorViewModel>(id)); }
public async Task GetAll_WithNullData_ShouldThrowEmptyResult() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); var repository = new EfDeletableEntityRepository <Category>(dbContext); var service = new CategoriesService(repository); var result = service.GetAll <CategoryViewModel>().ToList(); Assert.Empty(result); }
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 GetById_WithIncorrectId_ShouldReturnZeroComment(int id) { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); Assert.Null(service.GetById <CommentEditModel>(id)); }
public async Task GetCountByPostId_WithIncorrectInput_ShouldReturnZero(int id) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); var result = service.GetCountByPostId(id); Assert.Equal(0, result); }
public async Task GetByActorsForPage_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var result = service.GetByActorsForPage <ActorViewModel>(1, 1); Assert.Single(result); }
public async Task GetActorsCount_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var result = service.GetActorsCount(); Assert.Equal(2, result); }
public async Task GetByName_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var result = service.GetByTitle <ActorViewModel>("1"); Assert.Equal("1", result.FirstName); }
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_WithCorrectId_ShouldReturnCorrectComment() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); var result = service.GetById <CommentEditModel>(1); Assert.Equal(1, result.Id); }
public async Task GetAll_ShouldReturnAllCategories() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestCategories(dbContext); var repository = new EfDeletableEntityRepository <Category>(dbContext); var service = new CategoriesService(repository); var result = service.GetAll <CategoryViewModel>().ToList(); Assert.Equal(2, result.Count); }
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 GetAllByQuery_WithNullInput_ShouldReturnValidResult(string name) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var result = service.GetAllByQuery <ActorViewModel>(name).ToList(); Assert.Equal(2, result.Count()); }
public async Task GetAll_WithValidInput_ShouldReturnValidResult() { 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 result = service.GetAll <MovieViewModel>().ToList(); Assert.Equal(2, result.Count()); }
public async Task GetAllUserPosts_WithInvalidInput_ShouldReturtNullResult(string username) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var postsRepository = new EfDeletableEntityRepository <Post>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var service = new UsersService(postsRepository, usersRepository); var result = service.GetAllUserPosts <UserPostsViewModel>(username).ToList(); Assert.True(result.Count == 0); }
public async Task GetUserByName_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var postsRepository = new EfDeletableEntityRepository <Post>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var service = new UsersService(postsRepository, usersRepository); var result = service.GetUserByName <UserViewModel>("TheOne"); Assert.Equal("1", result.Id); }
public async Task GetByName_WithCorrectInput_ShouldReturnCorrectResult() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestCategories(dbContext); var repository = new EfDeletableEntityRepository <Category>(dbContext); var service = new CategoriesService(repository); var result = service.GetByName <CategoryViewModel>("People"); Assert.Equal("People", result.Name); Assert.Equal(1, result.Id); }
public async Task GetUserByName_WithInvalidInput_ShouldReturnNullResult(string username) { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var postsRepository = new EfDeletableEntityRepository <Post>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var service = new UsersService(postsRepository, usersRepository); var result = service.GetUserByName <UserViewModel>(username); Assert.Null(service.GetUserByName <UserViewModel>(username)); }
public async Task Delete_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var actor = service.GetById <ActorEditModel>(1); var result = service.Delete(actor); Assert.Equal(1, dbContext.Actors.Count()); }
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 Delete_WithIncorrectId_ShouldThrowException(int id) { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); var model = new CommentEditModel(); model.Id = id; await Assert.ThrowsAsync <NullReferenceException>(() => service.Delete(model)); }
public async Task Create_WithValidDate_ShouldReturnComment() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); var comment = service.Create(77, "2", "Hi"); var result = repository.All().FirstOrDefault(x => x.PostId == 77); Assert.Equal(77, result.PostId); Assert.Equal("2", result.UserId); Assert.Equal("Hi", result.Content); }
public async Task GetAllUserPosts_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var postsRepository = new EfDeletableEntityRepository <Post>(dbContext); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); var service = new UsersService(postsRepository, usersRepository); var result = service.GetAllUserPosts <UserPostsViewModel>("TheOne").ToList(); var post = result.First(); Assert.Single(result); Assert.Equal(1, post.Id); }
public async Task GetByPostId_WithIncorrectInput_ShouldReturnZeroResult(int postId) { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); // PostId = 1 // Take = 2 // Skip = 1 var result = service.GetByPostId <CommentEditModel>(postId, 2, 1); Assert.Equal(0, result.Count(x => x.PostId == postId)); Assert.Empty(result); }
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 Edit_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.SeedData(dbContext); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var viewModel = new ActorEditModel() { Id = 1, FirstName = "Edited", }; var result = service.Edit(viewModel); Assert.Equal("Edited", viewModel.FirstName); }
public async Task Delete_WithCorrectId_ShouldRemoveComment() { MapperInitializer.InitializeMapper(); var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); await this.CreateTestComments(dbContext); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); var model = new CommentEditModel(); model.Id = 1; await service.Delete(model); var result = repository.AllWithDeleted().Where(p => p.Id == 1).FirstOrDefault().IsDeleted; Assert.True(result); }
public async Task Create_WithValidInput_ShouldReturnValidResult() { var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext(); var actorsRepository = new EfDeletableEntityRepository <Actor>(dbContext); var service = new ActorsService(actorsRepository); var input = new ActorCreateModel() { FirstName = "Bob", LastName = "Ross", Gender = "Male", }; var actor = service.Create(input); var result = service.GetByTitle <ActorViewModel>("Bob"); Assert.Equal("Ross", result.LastName); Assert.Equal("Male", result.Gender); }
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); }