Exemplo n.º 1
0
        public async Task When_Registrar_ComItemVazio_Expected_VendaNaoPossuiItemException()
        {
            var vendaSemItemMock = new Domain.Venda()
            {
                VendaId  = Guid.Parse("c32ca4c4-66b3-4884-afb1-be6f473f8189"),
                Data     = new DateTime(2020, 11, 2, 14, 0, 0),
                Status   = StatusVenda.PagamentoAprovado,
                Vendedor = new Funcionario()
                {
                    FuncionarioId = Guid.Parse("f6efb92b-2bf0-4136-919d-1557f5c8d0ea"),
                    Nome          = "Leonardo Bertolini",
                    Cpf           = "07820255552",
                    Email         = "*****@*****.**",
                    Cargo         = Cargo.Vendedor
                },
                Itens = new List <Item>()
            };

            var exception = await Assert.ThrowsAsync <VendaNaoPossuiItemException>(async() =>
                                                                                   await vendaService.RegistrarAsync(vendaSemItemMock));

            sqlAdapterMock
            .Verify(s => s.RegistrarAsync(It.IsAny <Domain.Venda>()), Times.Never);

            Assert.Equal($"Venda não possui nenhum item relacionado. VendaId: {vendaSemItemMock.VendaId}",
                         exception.Message);
        }
Exemplo n.º 2
0
        public async Task <bool> AtualizarStatusAsync(Domain.Venda venda)
        {
            SqlAdapterContext.Vendas.Update(venda);

            var quantidadeRegistrosAtualizados = await SqlAdapterContext.SaveChangesAsync();

            return(quantidadeRegistrosAtualizados > 0);
        }
Exemplo n.º 3
0
        public Task <bool> RegistrarAsync(Domain.Venda venda)
        {
            if (venda.Itens?.Count() == 0 || venda.Itens == null)
            {
                throw new VendaNaoPossuiItemException(venda.VendaId);
            }

            return(vendaSqlAdapter.RegistrarAsync(venda));
        }
Exemplo n.º 4
0
        public async Task <bool> RegistrarAsync(Domain.Venda venda)
        {
            venda.VendaId = Guid.NewGuid();

            await SqlAdapterContext.Vendas.AddAsync(venda);

            var quantidadeRegistrosCriados = await SqlAdapterContext.SaveChangesAsync();

            return(quantidadeRegistrosCriados > 0);
        }
Exemplo n.º 5
0
        private static void IncluirDadosDatabaseInMemory(SqlAdapterContext sqlContext)
        {
            var funcionarioMock = new Funcionario()
            {
                FuncionarioId = Guid.Parse("49332671-a532-4865-a280-73c66329b753"),
                Cargo         = Cargo.Vendedor,
                Cpf           = "07920357652",
                Nome          = "Leonardo Bertolini",
                Email         = "*****@*****.**",
                Telefone      = "99687-0094"
            };

            sqlContext.Funcionarios.Add(funcionarioMock);

            var itemMock1 = new Item()
            {
                ItemId = Guid.NewGuid(),
                Nome   = "Produto 1",
                Valor  = 35.90M
            };

            var itemMock2 = new Item()
            {
                ItemId = Guid.NewGuid(),
                Nome   = "Produto 2",
                Valor  = 99.90M
            };

            var itemMock3 = new Item()
            {
                ItemId = Guid.NewGuid(),
                Nome   = "Produto 3",
                Valor  = 149.90M
            };

            sqlContext.Itens.Add(itemMock1);
            sqlContext.Itens.Add(itemMock2);
            sqlContext.Itens.Add(itemMock3);

            var vendaMock1 = new Domain.Venda()
            {
                VendaId  = Guid.Parse("0fd1cc41-55ab-47a8-af7e-ccc606a4a648"),
                Data     = DateTime.Now,
                Status   = StatusVenda.PagamentoAprovado,
                Vendedor = funcionarioMock,
                Itens    = new List <Item>()
                {
                    itemMock1
                }
            };

            var vendaMock2 = new Domain.Venda()
            {
                VendaId  = Guid.Parse("ebf70b0b-f275-48eb-b6d5-61eaa050b86d"),
                Data     = DateTime.Now,
                Status   = StatusVenda.EnviadoTransportadora,
                Vendedor = funcionarioMock,
                Itens    = new List <Item>()
                {
                    itemMock2, itemMock3
                }
            };

            sqlContext.Vendas.Add(vendaMock1);
            sqlContext.Vendas.Add(vendaMock2);

            sqlContext.SaveChangesAsync();
        }