public IActionResult Status([FromBody] dynamic request) { string message = "OK"; try { StatusPedido statusPedido = JsonConvert.DeserializeObject <StatusPedido>(request.ToString()); RetornoStatusPedido retornoStatusPedido = statusPedidoService.ValidadeStatus(statusPedido); return(Ok(retornoStatusPedido)); } catch (Exception ex) { message = ex.Message; return(Ok(new ResponseModel() { Data = null, Success = false, Message = message, Code = ResponseCodeType.GENERAL_ERROR })); } }
public void ValidadeStatusTest() { StatusPedidoService service = StatusPedidoService.GetInstance; RetornoStatusPedido retornoStatusPedidoEsperado; RetornoStatusPedido retornoStatusPedidoObtido; StatusPedido statusPedido; /**************************** #1 ****************************/ statusPedido = new StatusPedido() { status = "APROVADO", itensAprovado = 3, valorAprovado = 20, pedido = "123456" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.APROVADO } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); /**************************** #2 ****************************/ statusPedido = new StatusPedido() { status = "APROVADO", itensAprovado = 3, valorAprovado = 10, pedido = "123456" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.APROVADO_VALOR_A_MENOR } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); /**************************** #3 ****************************/ statusPedido = new StatusPedido() { status = "APROVADO", itensAprovado = 4, valorAprovado = 21, pedido = "123456" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.APROVADO_VALOR_A_MAIOR, STATUS.APROVADO_QTD_A_MAIOR } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); /**************************** #4 ****************************/ statusPedido = new StatusPedido() { status = "APROVADO", itensAprovado = 2, valorAprovado = 20, pedido = "123456" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.APROVADO_QTD_A_MENOR } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); /**************************** #5 ****************************/ statusPedido = new StatusPedido() { status = "REPROVADO", itensAprovado = 0, valorAprovado = 0, pedido = "123456" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.REPROVADO } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); /**************************** #6 ****************************/ statusPedido = new StatusPedido() { status = "APROVADO", itensAprovado = 3, valorAprovado = 20, pedido = "123456-N" }; retornoStatusPedidoEsperado = new RetornoStatusPedido() { pedido = "123456", status = new List <domain.enumerator.STATUS> { STATUS.CODIGO_PEDIDO_INVALIDO } }; retornoStatusPedidoObtido = service.ValidadeStatus(statusPedido); Assert.AreNotEqual(retornoStatusPedidoEsperado, retornoStatusPedidoObtido); }