示例#1
0
        public async Task It_should_Return_Not_Found_If_Object_Doesnt_Exits()
        {
            //Given
            var mockRepo = new Mock <IPokemonRepository>();

            mockRepo.Setup(repo => repo.GetOne(1)).ReturnsAsync((Pokemon)null);
            PokemonsController controller = new PokemonsController(mockRepo.Object);
            //When
            var result = await controller.Edit(1);

            //Then
            Assert.IsType <NotFoundResult>(result);
        }
示例#2
0
        public async Task It_Should_Return_A_View_With_All_Pokemons()
        {
            //Arrange
            var mockRepo = new Mock <IPokemonRepository>();

            mockRepo.Setup(repo => repo.GetAll()).ReturnsAsync(GetDummyData());
            PokemonsController controller = new PokemonsController(mockRepo.Object);
            //Act
            var result = await controller.Index();

            //Assert
            var viewResult  = Assert.IsType <ViewResult>(result);
            var modelResult = Assert.IsAssignableFrom <List <Pokemon> >(viewResult.ViewData.Model);

            Assert.Equal(2, modelResult.Count);
        }
        protected IEnumerable <PokemonDto> GetPokemonsBySortOrder(string propertyToSortOn, string sortOrder, string propertyToOrderBy)
        {
            //Arrange
            var pagingParams = new PagingParams()
            {
                Sort = sortOrder
            };

            MockedPokemonRepository.Setup(x => x.GetPokemons(pagingParams)).Returns(PagedListPokemon);
            MockedPokemonService.Setup(x => x.GetFilteredSortQuery(It.IsAny <string>())).Returns($"{propertyToSortOn} {sortOrder}");
            PokemonsController = new PokemonsController(MockedPokemonRepository.Object, AutoMapper, MockedPokemonService.Object);

            //Act
            GenericApiResponse <ObjectDto> objDto = PokemonsController.GetPokemons(pagingParams);

            return(objDto?.Data?.Pokemons);
        }
示例#4
0
        public async Task It_Should_Modify_Pokemon_And_Return_To_Index()
        {
            //Given
            var mockRepo = new Mock <IPokemonRepository>();

            mockRepo.Setup(repo => repo.GetAll()).ReturnsAsync(GetDummyData());
            PokemonsController controller = new PokemonsController(mockRepo.Object);
            Pokemon            dummy      = new Pokemon {
                Id = 1, Name = "DummyPokemon", Level = 0, Type = PokemonType.Bug,
            };

            mockRepo.Setup(repo => repo.Edit(1, dummy)).ReturnsAsync(dummy);
            //When
            var result = await controller.EditPokemon(1, dummy);

            //Then
            var viewResult       = Assert.IsAssignableFrom <RedirectToActionResult>(result);
            var redirectToAction = (RedirectToActionResult)result;

            Assert.Equal("Index", redirectToAction.ActionName);
        }
示例#5
0
        public async Task It_Should_Return_A_Details_View_And_Pokemon_Data_By_Id()
        {
            //Given
            var mockRepo = new Mock <IPokemonRepository>();

            mockRepo.Setup(repo => repo.GetOne(1)).ReturnsAsync(GetDummyData().FirstOrDefault());
            PokemonsController controller    = new PokemonsController(mockRepo.Object);
            Pokemon            dummyExpected = new Pokemon {
                Id = 1, Name = "DummyPokemon", Level = 0, Type = PokemonType.Bug,
            };
            var expected = JsonConvert.SerializeObject(dummyExpected);
            //When
            var result = await controller.Details(1);

            //Then
            var viewResult   = Assert.IsType <ViewResult>(result);
            var modelResult  = Assert.IsAssignableFrom <Pokemon>(viewResult.ViewData.Model);
            var objectResult = JsonConvert.SerializeObject(modelResult);

            Assert.Equal(expected, objectResult);
        }