public void Get_Marcas_QuandoTipoForVazioRetorna400()
        {
            // Arrange
            var tipo         = string.Empty;
            var mockMarcas   = new Mock <IMarcasServices>();
            var mockVeiculos = new Mock <IVeiculosServices>();

            var controller = new FIPEController(mockMarcas.Object, mockVeiculos.Object);

            // Act
            var result = controller.GetAllMarcas(tipo).Result;

            // Assert
            var viewResult = Assert.IsType <BadRequestResult>(result);

            Assert.Equal(400, viewResult.StatusCode); // erro 400 indica que o servidor não pode ou não irá processar a requisição devido ao erro do cliente
        }
        public void Veiculos_Get_QuandoNaoEncontraVeiculosRetorna404()
        {
            // Arrange
            var idMarca      = 26;
            var mockMarcas   = new Mock <IMarcasServices>();
            var mockVeiculos = new Mock <IVeiculosServices>();

            mockVeiculos.Setup(v => v.GetVeiculosMarca(idMarca)).Returns(GetVeiculosMarcaVazio());

            var controller = new FIPEController(mockMarcas.Object, mockVeiculos.Object);

            // Act
            var result = controller.GetVeiculosPorMarca(idMarca).Result;

            // Assert
            var viewResult = Assert.IsType <NotFoundObjectResult>(result);

            Assert.Equal(404, viewResult.StatusCode);
        }
        public void Get_Marcas_QuandoencontraOsDadosRetornaStatus200()
        {
            // Arrange
            var tipo = "carros";


            var mockMarcas   = new Mock <IMarcasServices>();
            var mockVeiculos = new Mock <IVeiculosServices>();

            mockMarcas.Setup(m => m.GetAll(tipo)).Returns(GetMarcas());
            var controller = new FIPEController(mockMarcas.Object, mockVeiculos.Object);

            // Act
            var result = controller.GetAllMarcas(tipo).Result;

            // Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);

            Assert.Equal(200, viewResult.StatusCode);
        }