Exemple #1
0
        public async Task CreateOrUpdate_Success()
        {
            //arrange
            var pedido = new Pedido(
                new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m),
                new ItemPedido("002", "produto 002", 2, 23.45m)
            },
                "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");

            var options = new DbContextOptionsBuilder <ApplicationContext>().UseInMemoryDatabase(databaseName: "database_name").Options;

            using (var context = new ApplicationContext(options))
            {
                var pedidoEntity = await context.AddAsync(pedido);

                var repo = new PedidoRepository(context);

                //act
                Pedido result = await repo.CreateOrUpdate(pedido);

                //assert
                Assert.Equal(2, result.Itens.Count);
                Assert.Collection(result.Itens,
                                  item => Assert.Equal("001", item.ProdutoCodigo),
                                  item => Assert.Equal("002", item.ProdutoCodigo)
                                  );
            }
        }
Exemple #2
0
        public async Task CreateOrUpdate_Pedido_NullAsync()
        {
            //arrange
            var repo = new PedidoRepository(contextoMock.Object);

            //act+assert
            await Assert.ThrowsAsync <ArgumentNullException>(() => repo.CreateOrUpdate(null));
        }
Exemple #3
0
        public async Task CreateOrUpdate_No_Items()
        {
            //arrange
            var pedido = new Pedido();
            var repo   = new PedidoRepository(contextoMock.Object);

            //act+assert
            await Assert.ThrowsAsync <NoItemsException>(() => repo.CreateOrUpdate(pedido));
        }
Exemple #4
0
        public async Task CreateOrUpdate_Invalid_Client_Data(string clienteId, string clienteNome, string clienteEmail, string clienteTelefone, string clienteEndereco, string clienteComplemento, string clienteBairro, string clienteMunicipio, string clienteUF, string clienteCEP)
        {
            //arrange
            var pedido = new Pedido(
                new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m),
                new ItemPedido("002", "produto 002", 2, 23.45m)
            },
                clienteId, clienteNome, clienteEmail, clienteTelefone, clienteEndereco, clienteComplemento, clienteBairro, clienteMunicipio, clienteUF, clienteCEP);

            var repo = new PedidoRepository(contextoMock.Object);

            //act+assert
            await Assert.ThrowsAsync <InvalidUserDataException>(() => repo.CreateOrUpdate(pedido));
        }
Exemple #5
0
        public async Task CreateOrUpdate_Invalid_Item(string codigo, string nome, int qtde, decimal preco)
        {
            //arrange
            var pedido = new Pedido(
                new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m),
                new ItemPedido(codigo, nome, qtde, preco)
            },
                "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");

            var repo = new PedidoRepository(contextoMock.Object);

            //act+assert
            await Assert.ThrowsAsync <InvalidItemException>(() => repo.CreateOrUpdate(pedido));
        }