示例#1
0
        public void DeveGravarUmPedidoParaUmClienteExistente()
        {
            var pedidoEsperadoId = 3;
            var clienteDto       = new Api.Model.Dtos.ClienteDto
            {
                Id       = "idDoCliente",
                Nome     = "Nome",
                Telefone = "99999",
                Email    = "*****@*****.**"
            };

            var clienteModel = new Api.Model.Cliente(clienteDto.Id, clienteDto.Nome, clienteDto.Telefone, clienteDto.Email);
            var produtoDto   = new Api.Model.Dtos.ProdutoDto
            {
                Id     = 1,
                Imagem = "UrlImagem",
                Nome   = "Camisa gola polo",
                Preco  = 22.30M
            };
            var produtoModel = new Api.Model.Produto(produtoDto.Id, produtoDto.Nome, produtoDto.Preco, produtoDto.Imagem);

            var itensDoPedido = new List <Api.Model.Dtos.ItemPedidoDto>();

            var pedidoDto = new Api.Model.Dtos.PedidoDto
            {
                Id            = pedidoEsperadoId,
                Cliente       = clienteDto,
                ClienteId     = clienteDto.Id,
                DataDoPedido  = DateTime.Now,
                ValorDoPedido = 99.90M,
                ItensDoPedido = itensDoPedido
            };


            var itemPedido = new Api.Model.Dtos.ItemPedidoDto
            {
                PedidoId      = pedidoDto.Id,
                PrecoUnitario = produtoDto.Preco,
                Produto       = produtoDto,
                ProdutoId     = produtoDto.Id,
                Quantidade    = 5,
                Id            = 2
            };

            itensDoPedido.Add(itemPedido);

            var itemPedidoModel = new List <Api.Model.ItemPedido>();

            var pedidoModel = new Api.Model.Pedido(pedidoDto.Id, pedidoDto.DataDoPedido, pedidoDto.ValorDoPedido, pedidoDto.ClienteId, itemPedidoModel);

            clienteService.Setup(x => x.ObterClientePorId(clienteDto.Id)).Returns(Task.Run(() => clienteModel));
            pedidoRepository.Setup(x => x.GravarPedido(pedidoModel)).Returns(Task.Run(() => pedidoEsperadoId));
            var pedidoService = new PedidoService(clienteService.Object, pedidoRepository.Object);

            var result = pedidoService.GravarPedido(pedidoDto);

            Assert.Equal(0, result.Result);
        }
示例#2
0
        public void DeveObterPedidoPeloIdDoCliente()
        {
            var pedidoId      = 3;
            var cliente       = new Api.Model.Cliente("idDoCliente", "Robsvaldo", "69 69 69", "*****@*****.**");
            var produto       = new Api.Model.Produto(1, "Camisa gola polo", 22.30M, "UrlImagem");
            var itemPedido    = new Api.Model.ItemPedido(produto.Id, 3, pedidoId);
            var itensDoPedido = new List <Api.Model.ItemPedido>();

            itensDoPedido.Add(itemPedido);
            var pedido = new Api.Model.Pedido(pedidoId, DateTime.Now, 99.90M, cliente.Id, itensDoPedido);

            var listaDePedidos = new List <Api.Model.Pedido>();

            listaDePedidos.Add(pedido);
            pedidoRepository.Setup(x => x.ObterPedidosPeloIdDoCliente(cliente.Id)).Returns(Task.Run(() => listaDePedidos));
            var pedidoService = new PedidoService(clienteService.Object, pedidoRepository.Object);
            var result        = pedidoService.ObterPedidoPeloIdDoCliente(cliente.Id);

            Assert.Equal(listaDePedidos[0].Id, result.Result[0].Id);
            Assert.Equal(listaDePedidos.Count, result.Result.Count);
        }