From f67e9676dd834df74ce3808935d7f5da114682f5 Mon Sep 17 00:00:00 2001 From: Bruno Date: Sat, 28 Sep 2024 00:06:31 -0300 Subject: [PATCH] fix --- .../Services/Pedidos/CreatePedidoService.cs | 5 ++ .../Application/Test/PedidoServiceTest.cs | 70 +++++++++---------- 2 files changed, 40 insertions(+), 35 deletions(-) diff --git a/OpenAdm.Application/Services/Pedidos/CreatePedidoService.cs b/OpenAdm.Application/Services/Pedidos/CreatePedidoService.cs index 394b353..e879e20 100644 --- a/OpenAdm.Application/Services/Pedidos/CreatePedidoService.cs +++ b/OpenAdm.Application/Services/Pedidos/CreatePedidoService.cs @@ -3,6 +3,7 @@ using OpenAdm.Application.Models.Pedidos; using OpenAdm.Domain.Entities; using OpenAdm.Domain.Enuns; +using OpenAdm.Domain.Exceptions; using OpenAdm.Domain.Interfaces; using OpenAdm.Domain.Model.Pedidos; @@ -29,6 +30,10 @@ public CreatePedidoService( public async Task CreatePedidoAsync(IList itensPedidoModels, Usuario usuario) { + if (itensPedidoModels.Count == 0) + { + throw new ExceptionApi("Informe os itens do pedido!"); + } var date = DateTime.Now; var pedido = new Pedido(Guid.NewGuid(), date, date, 0, StatusPedido.Aberto, usuario.Id); diff --git a/OpenAdm.Test/Application/Test/PedidoServiceTest.cs b/OpenAdm.Test/Application/Test/PedidoServiceTest.cs index 3645095..57d8cd9 100644 --- a/OpenAdm.Test/Application/Test/PedidoServiceTest.cs +++ b/OpenAdm.Test/Application/Test/PedidoServiceTest.cs @@ -157,41 +157,41 @@ public async Task DeveCriarPedido() Assert.Equal(StatusPedido.Aberto, pedidoModel.StatusPedido); } - //[Fact] - //public async Task NaoDeveCriarPedidoSemItens() - //{ - // var itensPedido = new List(); - - // var itensTabelaDePreco = new List() - // { - // new (Guid.NewGuid(), - // DateTime.Now, - // DateTime.Now, - // 1, - // Guid.NewGuid(), - // 1, - // 2, - // Guid.NewGuid(), - // Guid.NewGuid(), - // Guid.NewGuid()) - // }; - - // var produtosIds = itensPedido.Select(x => x.ProdutoId).ToList(); - - // _itemTabelaDePrecoRepositoryMock.Setup((x) => - // x.GetItensTabelaDePrecoByIdProdutosAsync(produtosIds)) - // .ReturnsAsync(itensTabelaDePreco); - - // var service = new CreatePedidoService( - // _pedidoRepositoryMock.Object, - // _processarPedidoServiceMock.Object, - // _itemTabelaDePrecoRepositoryMock.Object, - // _carrinhoRepository.Object); - - // var usuario = UsuarioBuilder.Init().Build(); - - // await Assert.ThrowsAsync(async () => await service.CreatePedidoAsync(itensPedido, usuario)); - //} + [Fact] + public async Task NaoDeveCriarPedidoSemItens() + { + var itensPedido = new List(); + + var itensTabelaDePreco = new List() + { + new (Guid.NewGuid(), + DateTime.Now, + DateTime.Now, + 1, + Guid.NewGuid(), + 1, + 2, + Guid.NewGuid(), + Guid.NewGuid(), + Guid.NewGuid()) + }; + + var produtosIds = itensPedido.Select(x => x.ProdutoId).ToList(); + + _itemTabelaDePrecoRepositoryMock.Setup((x) => + x.GetItensTabelaDePrecoByIdProdutosAsync(produtosIds)) + .ReturnsAsync(itensTabelaDePreco); + + var service = new CreatePedidoService( + _pedidoRepositoryMock.Object, + _processarPedidoServiceMock.Object, + _itemTabelaDePrecoRepositoryMock.Object, + _carrinhoRepository.Object); + + var usuario = UsuarioBuilder.Init().Build(); + + await Assert.ThrowsAsync(async () => await service.CreatePedidoAsync(itensPedido, usuario)); + } [Fact] public async Task NaoDeveCriarPedidoDeUsuarioJuridicoComValorUnitarioVarejo()