Example #1
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #12
0
        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);
        }
Example #13
0
        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());
        }
Example #14
0
        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());
        }
Example #15
0
        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);
        }
Example #16
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);
        }
Example #18
0
        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));
        }
Example #19
0
        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());
        }
Example #20
0
        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());
        }
Example #21
0
        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);
        }
Example #24
0
        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);
        }
Example #26
0
        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);
        }
Example #27
0
        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);
        }
Example #29
0
        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);
        }
Example #30
0
        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);
        }