Exemple #1
0
        public async Task CadastrarPedidoFreteNaoEncontrado()
        {
            var freteServiceMock = new FreteServicoMock();
            var freteServico     = freteServiceMock.ConfigurarObterFretePeloIdInexistente().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);
        }
Exemple #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));
        }
Exemple #3
0
        public async Task ObterClienteSucesso()
        {
            var clienteServiceMock = new ClienteServicoMock();
            var clienteServico     = clienteServiceMock.ConfigurarObterClientes().Build();

            var obterQuery = new ObterClientesQuery(clienteServico);

            var resultado = await obterQuery.Executar(null);

            Assert.NotNull(resultado.Clientes);
        }
        public async Task <IEnumerable <ClienteDto> > Handle(ObterClientesQuery request, CancellationToken cancellationToken)
        {
            if (request.Pagina < 0)
            {
                request.AddNotification("ObterClientesQuery.Pagina", "Pagina deve ser maior que 0.");
            }

            if (request.Quantidade < 5)
            {
                request.AddNotification("ObterClientesQuery.Quantidade", "Quantidade deve ser maior ou igual que 5.");
            }

            if (request.Invalid)
            {
                await _mediator.Publish(new DomainNotification
                {
                    Erros = request.Notifications
                }, cancellationToken);

                return(await Task.FromResult(new List <ClienteDto>()));
            }

            return(await _clienteDapper.ObterClientes(request.Quantidade, request.Pagina));
        }
Exemple #5
0
        public async Task <IEnumerable <ObterClientesResult> > Handle(ObterClientesQuery request, CancellationToken cancellationToken)
        {
            var result = await _repository.ObterTodos();

            return(_mapper.Map <List <ObterClientesResult> >(result));
        }