public HttpResponseMessage BuscarPorId(HttpRequestMessage request) { ConsultarComputadorViewModel vm = new ConsultarComputadorViewModel(); try { vm = request.Content.ReadAsAsync <ConsultarComputadorViewModel>().Result; if (vm.ConsultaPorIdEhValida()) { vm = _appServico.Buscar(vm.Id); 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_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); }