Exemple #1
0
        public async Task <IActionResult> CriarPedido([FromBody] CriacaoPedidoDTO pedido)
        {
            var ret = await facade.CriarPedidoAsync(pedido);

            if (ret.Sucesso)
            {
                return(Ok(ret.Id));
            }
            else
            {
                return(BadRequest(ret.Mensagem));
            }
        }
        public void CriarPedidoDeveCriarEGuardarCopiaNaMensageria()
        {
            IdVersaoDTO cliente = new IdVersaoDTO()
            {
                Id = 1, Versao = new byte[0]
            };
            List <IdVersaoDTO> itens = new List <IdVersaoDTO>()
            {
                new IdVersaoDTO()
                {
                    Id = 1, Versao = new byte[0]
                },
                new IdVersaoDTO()
                {
                    Id = 2, Versao = new byte[0]
                },
            };

            var facade = new LojaStoneFacade(mockRepositorioCliente.Object, mockRepositorioItem.Object, mockRepositorioPedido.Object, mockServicoMensageria.Object, mockLogger.Object);

            mockRepositorioCliente
            .Setup(a => a.BuscarClienteAsync(It.Is <int>(b => b == cliente.Id), It.IsAny <byte[]>()))
            .ReturnsAsync(() => { return(new Cliente()); });

            mockRepositorioItem
            .Setup(a => a.BuscarItemAsync(It.Is <int>(b => b == itens[0].Id), It.IsAny <byte[]>()))
            .ReturnsAsync(() => { return(new Item()); });

            mockRepositorioItem
            .Setup(a => a.BuscarItemAsync(It.Is <int>(b => b == itens[1].Id), It.IsAny <byte[]>()))
            .ReturnsAsync(() => { return(new Item()); });

            var retorno1 = facade.CriarPedidoAsync(new CriacaoPedidoDTO()
            {
                Cliente = cliente, Itens = itens
            });

            retorno1.Wait();

            mockServicoMensageria.Verify(a => a.GuardarCopia(It.IsAny <Pedido>()), Times.Once);
            mockRepositorioPedido.Verify(a => a.CriarPedidoAsync(It.IsAny <Pedido>()), Times.Once);
            mockRepositorioCliente.Verify(a => a.BuscarClienteAsync(It.IsAny <int>(), It.IsAny <byte[]>()), Times.Once);
            mockRepositorioItem.Verify(a => a.BuscarItemAsync(It.IsAny <int>(), It.IsAny <byte[]>()), Times.Exactly(2));
        }