예제 #1
0
        public async Task CadastrarPedidoSucesso()
        {
            var freteServiceMock = new FreteServicoMock();
            var freteServico     = freteServiceMock.ConfigurarObterFretePeloId().Build();
            var obterFreteQuery  = new ObterFreteQuery(freteServico, new ObterFreteValidador(freteServico));

            var clienteServiceMock = new ClienteServicoMock();
            var clienteServico     = clienteServiceMock.ConfigurarObterClientePeloId().ConfigurarObterClientes().Build();
            var obterClientesQuery = new ObterClientesQuery(clienteServico);

            var produtoServiceMock = new ProdutoServicoMock();
            var produtoServico     = produtoServiceMock.ConfigurarObterProdutoPeloId().ConfigurarContarProdutosPorId().Build();
            var obterProdutoQuery  = new ObterProdutosQuery(produtoServico);

            var pedidoServiceMock = new PedidoServicoMock();
            var pedidoServico     = pedidoServiceMock.ConfigurarCadastrarSucesso().Build();

            var cadastrarCommand = new CadastrarPedidoCommand(pedidoServico,
                                                              obterFreteQuery,
                                                              obterClientesQuery,
                                                              obterProdutoQuery,
                                                              new CadastrarPedidoValidador(clienteServico, produtoServico));

            var resultado = await cadastrarCommand.Executar(cadastrarPedidoInputSucesso);

            Assert.GreaterOrEqual(1, resultado.NumeroPedido);
        }
예제 #2
0
        public void CadastrarPedidoProdutoInexistente()
        {
            var freteServiceMock = new FreteServicoMock();
            var freteServico     = freteServiceMock.ConfigurarObterFretePeloId().Build();
            var obterFreteQuery  = new ObterFreteQuery(freteServico, new ObterFreteValidador(freteServico));

            var clienteServiceMock = new ClienteServicoMock();
            var clienteServico     = clienteServiceMock.ConfigurarObterClientePeloId().ConfigurarObterClientes().Build();
            var obterClientesQuery = new ObterClientesQuery(clienteServico);

            var produtoServiceMock = new ProdutoServicoMock();
            var produtoServico     = produtoServiceMock.ConfigurarObterProdutoPeloIdInexistente().Build();
            var obterProdutoQuery  = new ObterProdutosQuery(produtoServico);

            var pedidoServiceMock = new PedidoServicoMock();
            var pedidoServico     = pedidoServiceMock.ConfigurarCadastrarSucesso().Build();

            var cadastrarCommand = new CadastrarPedidoCommand(pedidoServico,
                                                              obterFreteQuery,
                                                              obterClientesQuery,
                                                              obterProdutoQuery,
                                                              new CadastrarPedidoValidador(clienteServico, produtoServico));

            Assert.ThrowsAsync <ArgumentException>(() => cadastrarCommand.Executar(cadastrarPedidoInputSucesso));
        }