public void BuscarPedido() { Cliente clienteEsperado = new Cliente() { Id = 1, CPF = 12345678910, Nome = "Cliente Teste", Endereco = new Endereco() { Rua = "Rua Teste", Numero = 3, Complemento = "101" } }; List <Item> itensEsperados = new List <Item>() { new Item() { Id = 1, Descricao = "Item de Teste 1", Valor = 1.99M }, new Item() { Id = 2, Descricao = "Item de Teste 2", Valor = 1000 } }; var pedido = FabricaPedido.CriarPedido(clienteEsperado, itensEsperados); var repositorio = new RepositorioPedidoMongoDB(connectionString); var retorno = repositorio.CriarPedidoAsync(pedido); retorno.Wait(); var retorno2 = repositorio.BuscarPedidoAsync(pedido.Id); retorno2.Wait(); var pedidoSalvo = retorno2.Result; Assert.IsNotNull(pedidoSalvo); Assert.AreEqual(pedidoSalvo.Id, pedido.Id); Assert.IsNotNull(pedidoSalvo.Cliente); Assert.AreEqual(pedidoSalvo.Cliente.Id, pedido.Cliente.Id); Assert.IsNotNull(pedidoSalvo.Itens); foreach (var item in itensEsperados) { Assert.IsTrue(pedidoSalvo.Itens.Any(a => a.Id == item.Id)); } }
public void AtualizarPedido() { EstadoPedido estadoEsperado = EstadoPedido.Cancelado; Cliente clienteEsperado = new Cliente() { Id = 1, CPF = 12345678910, Nome = "Cliente Teste", Endereco = new Endereco() { Rua = "Rua Teste", Numero = 3, Complemento = "101" } }; List <Item> itensEsperados = new List <Item>() { new Item() { Id = 1, Descricao = "Item de Teste 1", Valor = 1.99M }, new Item() { Id = 2, Descricao = "Item de Teste 2", Valor = 1000 } }; var pedido = FabricaPedido.CriarPedido(clienteEsperado, itensEsperados); var repositorio = new RepositorioPedidoMongoDB(connectionString); var retorno = repositorio.CriarPedidoAsync(pedido); retorno.Wait(); var retorno2 = repositorio.BuscarPedidoAsync(pedido.Id); retorno2.Wait(); var pedidoSalvo = retorno2.Result; Assert.IsNotNull(pedidoSalvo); Assert.AreEqual(pedidoSalvo.Id, pedido.Id); Assert.IsNotNull(pedidoSalvo.Cliente); Assert.AreEqual(pedidoSalvo.Cliente.Id, pedido.Cliente.Id); Assert.IsNotNull(pedidoSalvo.Itens); foreach (var item in itensEsperados) { Assert.IsTrue(pedidoSalvo.Itens.Any(a => a.Id == item.Id)); } string mensagem; var resultadoCancelamento = pedidoSalvo.Cancelar(out mensagem); Assert.IsTrue(resultadoCancelamento); Assert.IsTrue(string.IsNullOrEmpty(mensagem)); var retorno3 = repositorio.AtualizarPedidoAsync(pedidoSalvo); retorno3.Wait(); var retorno4 = repositorio.BuscarPedidoAsync(pedido.Id); retorno4.Wait(); pedidoSalvo = retorno4.Result; Assert.IsNotNull(pedidoSalvo); Assert.AreEqual(pedidoSalvo.Id, pedido.Id); Assert.IsNotNull(pedidoSalvo.Cliente); Assert.AreEqual(pedidoSalvo.Cliente.Id, pedido.Cliente.Id); Assert.IsNotNull(pedidoSalvo.Itens); foreach (var item in itensEsperados) { Assert.IsTrue(pedidoSalvo.Itens.Any(a => a.Id == item.Id)); } Assert.AreEqual(estadoEsperado, pedidoSalvo.Estado); }