Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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());
        }
Esempio n. 5
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));
        }
Esempio n. 6
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);
        }
Esempio n. 7
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);
        }