public void ComputadorAppService_BuscarComputadorPorDescricao_RetornoValido() { // Arrange var vm = new ConsultarComputadorViewModel(); vm.Descricao = "C001"; var computador = new Computador("C001", "A01"); var repo = new Mock <IComputadorRepositorio>(); repo.Setup(x => x.BuscarPorDescricao(vm.Descricao)).Returns(computador); var servico = new Mock <IComputadorServico>(); servico.Setup(x => x.BuscarPorDescricao(vm.Descricao)).Returns(computador); var appServico = new ComputadorAppServico(servico.Object); // Act var resultado = appServico.BuscarPorDescricao(vm.Descricao); // Assert Assert.NotNull(resultado); Assert.Equal(computador.Descricao, resultado.Descricao); Assert.Equal(computador.Andar, resultado.Andar); Assert.Equal(computador.Ativo, resultado.Ativo); Assert.Equal(computador.Ocorrencias, resultado.Ocorrencias); Assert.Equal("OK", resultado.ResultadoTransacao); }
public HttpResponseMessage BuscarPorDescricao(HttpRequestMessage request) { ConsultarComputadorViewModel vm = new ConsultarComputadorViewModel(); try { vm = request.Content.ReadAsAsync <ConsultarComputadorViewModel>().Result; if (vm.ConsultaPorDescricaoEhValida()) { vm = _appServico.BuscarPorDescricao(vm.Descricao); return(new HttpResponseMessage { Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter()) }); } else { vm.ResultadoTransacao = "Os dados informados não são válidos."; return(new HttpResponseMessage() { Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter()) }); } } catch (NullReferenceException) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent("Erro no corpo da requisição.") }); } catch (ComputadorNaoExisteException ex) { vm.ResultadoTransacao = ex.Message; return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter()) }); } catch (Exception) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent("Erro interno no servidor.") }); } }
public void ConsultaComputadorViewModel_ValidarEntradaPorDescricao_ResultadoValido() { // Arrange var vm = new ConsultarComputadorViewModel(); vm.Descricao = "C011"; // Act vm.ConsultaPorDescricaoEhValida(); // Assert Assert.NotNull(vm); Assert.True(!string.IsNullOrEmpty(vm.Descricao)); Assert.Equal("C011", vm.Descricao); }
public void ConsultaComputadorViewModel_ValidarEntrada_ResultadoValido() { // Arrange var vm = new ConsultarComputadorViewModel(); vm.Id = "123"; // Act vm.ConsultaPorIdEhValida(); // Assert Assert.NotNull(vm); Assert.True(!string.IsNullOrEmpty(vm.Id)); Assert.Equal("123", vm.Id); }
public ConsultarComputadorViewModel BuscarPorDescricao(string descricao) { var computador = _servico.BuscarPorDescricao(descricao); ConsultarComputadorViewModel resultado = null; if (computador != null) { resultado = ConsultarComputadorViewModel.Fabrica.Gerar(computador); } else { resultado = new ConsultarComputadorViewModel(); resultado.ResultadoTransacao = "Computador não existe"; } return(resultado); }
public void ComputadorController_ConsultarPorDescricao_ComputadorNaoExiste() { // Arrange var vm = new ConsultarComputadorViewModel(); vm.Descricao = "c003"; var appServico = new Mock <IComputadorAppServico>(); appServico.Setup(x => x.BuscarPorDescricao(vm.Descricao)).Throws(new ComputadorNaoExisteException()); // Act var response = new ComputadorController(appServico.Object) .BuscarPorDescricao(new HttpRequestMessage { Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter()) }).Content.ReadAsAsync <ConsultarComputadorViewModel>().Result; // Assert Assert.NotNull(response); Assert.Equal(vm.Descricao, response.Descricao); Assert.Equal("O computador desejado não existe!", response.ResultadoTransacao); }
public void ComputadorController_ConsultarPorDescricao_RetornoValido() { // Arrange var vm = new ConsultarComputadorViewModel(); vm.Descricao = "C003"; vm.ResultadoTransacao = "OK"; var appServico = new Mock <IComputadorAppServico>(); appServico.Setup(x => x.BuscarPorDescricao(vm.Descricao)).Returns(vm); // Act var response = new ComputadorController(appServico.Object) .BuscarPorDescricao(new HttpRequestMessage { Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter()) }).Content.ReadAsAsync <ConsultarComputadorViewModel>().Result; // Assert Assert.NotNull(response); Assert.Equal(vm.Descricao, response.Descricao); Assert.Equal("OK", response.ResultadoTransacao); }