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); }
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)); }