public void GetStatusPedidoReprovado()
        {
            var statusPedidoService = new StatusPedidoService(null,
                                                              new NotificationContext(),
                                                              new PedidoRepositoryMok());
            var statusPedido = new StatusPedido(0, StatusPedidoService.StatusReprovado, 0, 0, 123456);
            var result       = statusPedidoService.GetStatusAsync(statusPedido).Result;

            Assert.True(result.Count == 1 && result.Exists(x => x.Equals(StatusPedidoService.StatusReprovado)),
                        StatusPedidoService.StatusReprovado);
        }
        public void GetStatusPedidoAprovadoValorAMaiorEQuantidadeAMaior()
        {
            var statusPedidoService = new StatusPedidoService(null,
                                                              new NotificationContext(),
                                                              new PedidoRepositoryMok());
            var statusPedido     = new StatusPedido(0, StatusPedidoService.StatusAprovado, 4, 21, 123456);
            var result           = statusPedidoService.GetStatusAsync(statusPedido).Result;
            var valorAMAior      = result.Exists(x => x.Equals(StatusPedidoService.StatusAprovadoValorAMaior));
            var quantidadeAMAior = result.Exists(x => x.Equals(StatusPedidoService.StatusAprovadoQuantidadeAMaior));

            Assert.True(result.Count == 2 && valorAMAior && quantidadeAMAior,
                        StatusPedidoService.StatusAprovadoValorAMenor);
        }
        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);
        }