Пример #1
0
        public async Task Deletar_Empresa_Com_Funcionarios()
        {
            var builder = new EmpresaBuilder()
                          .WithId(1)
                          .WithFuncionarios(3);

            var empresa = builder.Build();

            _empresaRepository
            .Setup(c => c.GetWithFuncionarios(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
                empresa
            });

            await _exclusaoDeEmpresa.Excluir(1);

            Assert.True(_notificationContext.HasNotifications);
            _notificationContext.Notifications.Should().HaveCount(1);

            Assert.Contains(_notificationContext.Notifications,
                            n => n.Key.Equals("EmpresaComFuncionarios"));

            _empresaRepository.Verify(r => r.Delete(1), Times.Never);
        }
        public async Task Inserir_Empresa_Cnpj_Tamanho_Invalido(string cnpj)
        {
            var builder    = new EmpresaBuilder().WithCnpj(cnpj);
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            await VerifyInsertEmpresa(empresaDto, empresa);
        }
        public async Task Inserir_Empresa_Nome_Invalido(string nome)
        {
            var builder    = new EmpresaBuilder().WithNome(nome);
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            await VerifyInsertEmpresa(empresaDto, empresa);
        }
        public async Task Inserir_Empresa_Sucesso()
        {
            var builder    = new EmpresaBuilder();
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            _empresaRepository.Verify(r => r.Add(It.Is <Empresa>(emp =>
                                                                 emp.DataFundacao == empresaDto.DataFundacao &&
                                                                 emp.Cnpj == empresaDto.Cnpj &&
                                                                 emp.Nome == empresaDto.Nome)), Times.Once);

            Assert.False(_notificationContext.HasNotifications);
        }
        public async Task Inserir_Empresa_Cnpj_Invalido()
        {
            var builder    = new EmpresaBuilder().WithCnpj("12345678910111");
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            _empresaRepository.Verify(r => r.Add(empresa), Times.Never);

            Assert.True(_notificationContext.HasNotifications);

            _notificationContext.Notifications.Should().HaveCount(1);

            Assert.Contains(_notificationContext.Notifications,
                            n => n.Key.Equals("CnpjInvalido"));
        }
Пример #6
0
        public async Task Deletar_Empresa_Sucesso()
        {
            var builder = new EmpresaBuilder()
                          .WithId(1);

            var empresa = builder.Build();

            _empresaRepository
            .Setup(c => c.GetWithFuncionarios(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
                empresa
            });

            await _exclusaoDeEmpresa.Excluir(1);

            Assert.False(_notificationContext.HasNotifications);

            _empresaRepository.Verify(r => r.Delete(1), Times.Once);
        }
        public async Task Alterar_Empresa_Sucesso()
        {
            var builder = new EmpresaBuilder()
                          .WithId(1);

            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            _empresaRepository
            .Setup(c => c.Get(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
                empresa
            });

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            Assert.False(_notificationContext.HasNotifications);

            _empresaRepository.Verify(r => r.Update(empresa), Times.Once);
        }
        public async Task Inserir_Empresa_Cnpj_Duplicado()
        {
            var builder    = new EmpresaBuilder();
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            _empresaRepository
            .Setup(c => c.Get(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
                empresa
            });

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            _empresaRepository.Verify(r => r.Add(empresa), Times.Never);

            Assert.True(_notificationContext.HasNotifications);
            _notificationContext.Notifications.Should().HaveCount(1);

            Assert.Contains(_notificationContext.Notifications,
                            n => n.Key.Equals("CnpjDuplicado"));
        }
        public async Task Alterar_Empresa_Nome_Invalido(string nome)
        {
            var builder = new EmpresaBuilder()
                          .WithNome(nome)
                          .WithId(1);

            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            _empresaRepository
            .Setup(c => c.Get(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
                empresa
            });

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            Assert.True(_notificationContext.HasNotifications);
            _notificationContext.Notifications.Should().HaveCount(1);

            _empresaRepository.Verify(r => r.Update(empresa), Times.Never);
        }
        public async Task Alterar_Empresa_Inexistente()
        {
            var builder = new EmpresaBuilder()
                          .WithId(1);

            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            _empresaRepository
            .Setup(c => c.Get(It.IsAny <Predicate <Empresa> >()))
            .ReturnsAsync(new List <Empresa>()
            {
            });

            await _armazenadorDeEmpresa.Armazenar(empresaDto);

            Assert.True(_notificationContext.HasNotifications);
            _notificationContext.Notifications.Should().HaveCount(1);

            Assert.Contains(_notificationContext.Notifications,
                            n => n.Key.Equals("EmpresaInexistente"));

            _empresaRepository.Verify(r => r.Update(empresa), Times.Never);
        }