Esempio n. 1
0
        public void NaoDeveAceitarDataDeFundacaoComADataMinima()
        {
            var dataInvalida = DateTime.MinValue;
            var empresa      = EmpresaBuilder.Novo().ComDataDeFundacao(dataInvalida).Build();

            Assert.False(empresa.Validar());
        }
Esempio n. 2
0
        public void NaoDeveVincularQuandoJaTemEmpresaVinculada()
        {
            //Given
            var dto = new FuncionarioDto
            {
                Id        = _faker.Random.Number(100),
                IdEmpresa = _faker.Random.Number(100)
            };

            var funcionarioMock = FuncionarioBuilder.Novo().ComId(dto.Id).ComIdEmpresa(_faker.Random.Number(100)).Build();
            var empresaMock     = EmpresaBuilder.Novo().ComId(dto.IdEmpresa).Build();

            _funcionarioRepositoryMock
            .Setup(fr => fr.ObterPorId(dto.Id))
            .Returns(funcionarioMock);

            _empresaRepositoryMock
            .Setup(cr => cr.ObterPorId(dto.IdCargo))
            .Returns(empresaMock);

            //When
            _vinculacaoDeFuncionarioAEmpresa.VincularEmpresa(dto);

            //Then
            _funcionarioRepositoryMock.Verify(fr => fr.Atualizar(funcionarioMock), Times.Never);
        }
Esempio n. 3
0
        public void NaoDeveAceitarCnpjComTamanhoInvalido(int quantidadeDeCaracteres)
        {
            var cnpjInvalido = _onboardingSIGDB1faker.NumeroComQuantidadeExataDeCaracteresComoString(quantidadeDeCaracteres);
            var empresa      = EmpresaBuilder.Novo().ComCnpj(cnpjInvalido).Build();

            Assert.False(empresa.Validar());
        }
Esempio n. 4
0
        public VinculadorDeFuncionarioNoCargoTestes()
        {
            _onboardingSIGDB1faker = OnboardingSIGDB1FakerBuilder.Novo().Build();
            _funcionarioId         = _onboardingSIGDB1faker.Id();
            _cargoId = _onboardingSIGDB1faker.Id();

            _onboardingSIGDB1faker = OnboardingSIGDB1FakerBuilder.Novo().Build();
            _cargoDoFuncionarioDto = new CargoDoFuncionarioDto()
            {
                FuncionarioId = _funcionarioId,
                CargoId       = _cargoId,
                DataDeVinculo = _onboardingSIGDB1faker.QualquerDataDoUltimoAno()
            };

            var empresa = EmpresaBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();

            _funcionario = FuncionarioBuilder.Novo().ComId(_funcionarioId).ComEmpresa(empresa).Build();
            _cargo       = CargoBuilder.Novo().ComId(_cargoId).Build();

            _notificacaoDeDominioMock   = new Mock <IDomainNotificationHandler>();
            _funcionarioRepositorioMock = new Mock <IFuncionarioRepositorio>();
            _cargoRepositorioMock       = new Mock <ICargoRepositorio>();

            _vinculadorDeFuncionarioNoCargo = new VinculadorDeFuncionarioNoCargo(
                _notificacaoDeDominioMock.Object,
                _funcionarioRepositorioMock.Object,
                _cargoRepositorioMock.Object
                );
        }
Esempio n. 5
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);
        }
Esempio n. 6
0
        public void NaoDeveAceitarNomeComQuantidadeCaracterInvalido(int quantidadeDeCaracteres)
        {
            var nomeInvalido = _onboardingSIGDB1faker.FraseComQuantidadeExataDeCaracteres(quantidadeDeCaracteres);
            var empresa      = EmpresaBuilder.Novo().ComNome(nomeInvalido).Build();

            Assert.False(empresa.Validar());
        }
        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_Cnpj_Tamanho_Invalido(string cnpj)
        {
            var builder    = new EmpresaBuilder().WithCnpj(cnpj);
            var empresa    = builder.Build();
            var empresaDto = builder.BuildDto(empresa);

            await VerifyInsertEmpresa(empresaDto, empresa);
        }
Esempio n. 9
0
        public void DeveRetornarFalseQuandoCnpjEstiverVazio(string cnpjVazio)
        {
            var empresa = EmpresaBuilder.Novo().ComNome(_nomeValido).ComCnpj(cnpjVazio).Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 10
0
        public void DeveRetornarFalseQuandoNomeForMuitoGrande()
        {
            var empresa = EmpresaBuilder.Novo().ComNome(_nomeInvalido).Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 11
0
        public void DeveRetornarTrueSemDataDeFundacao()
        {
            var empresa = EmpresaBuilder.Novo().ComNome(_nomeValido).ComCnpj(_cnpjTamanhoValido).Build();

            var resultado = empresa.Validar();

            Assert.True(resultado);
        }
Esempio n. 12
0
        public void DeveRetornarFalseQuandoTamanhoDoCnpjForDiferenteDe14(int tamanhoInvalido)
        {
            var cnpjInvalido = _faker.Random.String2(tamanhoInvalido);
            var empresa      = EmpresaBuilder.Novo().ComNome(_nomeValido).ComCnpj(cnpjInvalido).Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
        public async Task NaoDeveAceitarCnpjJaCadastrado()
        {
            _empresaRepositorioMock.Setup(_ => _.ObterPorCnpjAsync(_cnpj))
            .ReturnsAsync(EmpresaBuilder.Novo().ComId(_id).ComCnpj(_cnpj).Build());

            await _validadorCnpjDaEmpresaJaExistente.ValidarAsync(_cnpj, 0);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.Is <string>(_1 => _1 == _erroEsperado)));
        }
        public async Task DeveAceitarCnpjJaCadastradoComOMesmoId()
        {
            _empresaRepositorioMock.Setup(_ => _.ObterPorCnpjAsync(_cnpj))
            .ReturnsAsync(EmpresaBuilder.Novo().ComId(_id).ComCnpj(_cnpj).Build());

            await _validadorCnpjDaEmpresaJaExistente.ValidarAsync(_cnpj, _id);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.IsAny <string>()), Times.Never);
        }
Esempio n. 15
0
        public CargoDoFuncionarioTestes()
        {
            _onboardingSIGDB1faker = OnboardingSIGDB1FakerBuilder.Novo().Build();
            _dataDeVinvulo         = _onboardingSIGDB1faker.QualquerDataDoUltimoAno();

            var empresa = EmpresaBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();

            _funcionario = FuncionarioBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).ComEmpresa(empresa).Build();
            _cargo       = CargoBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();
        }
Esempio n. 16
0
        public void DeveValidarNomeCaracteres()
        {
            var empresa = EmpresaBuilder
                          .Novo()
                          .ComNome(_faker.Lorem.Random.String2(151))
                          .Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 17
0
        public void DeveValidarCnpjbrigatorio(string cnpjInvalido)
        {
            var empresa = EmpresaBuilder
                          .Novo()
                          .ComNome(cnpjInvalido)
                          .Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
        public async Task DeveExcluirAEmpresa()
        {
            var empresa = EmpresaBuilder.Novo().ComId(_empresaId).Build();

            _empresaRepositorioMock.Setup(_ => _.ObterPorIdAsync(_empresaId)).ReturnsAsync(empresa);

            await _exclusaoDeEmpresa.ExcluirAsync(_empresaId);

            _empresaRepositorioMock.Verify(_ => _.Remover(It.Is <Empresa>(
                                                              _1 => _1.Id == _empresaId
                                                              )));
        }
        private void MockarAEdicaoDoDto()
        {
            var empresaDoBancoDeDados = EmpresaBuilder.Novo().
                                        ComId(_id).
                                        ComCnpj(_empresaDto.Cnpj.RemoverMascaraDoCnpj()).
                                        ComNome(_empresaDto.Nome).
                                        ComDataDeFundacao(_empresaDto.DataDeFundacao)
                                        .Build();

            _editarUmaEmpresaMock.Setup(_ => _.EditarAsync(_empresaDto))
            .ReturnsAsync(empresaDoBancoDeDados);
        }
        public async Task QuandoFuncionarioJaVinculadoEmUmaEmpresaDeveNotificarErroDeDominio()
        {
            var empresa     = EmpresaBuilder.Novo().ComId(_idEmpresa).Build();
            var funcionario = FuncionarioBuilder.Novo().ComId(_idFuncionario).ComEmpresa(empresa).Build();

            _funcionarioRepositorioMock.Setup(_ => _.ObterPorIdAsync(_idFuncionario)).ReturnsAsync(funcionario);

            await _vinculadorDeFuncionarioNaEmpresa.Vincular(_idFuncionario, _idEmpresa);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeDominioAsync
                                                 (It.Is <string>(_1 => _1 == FuncionarioResources.FuncionarioJaEstaVinculadoAEmpresa)));
        }
Esempio n. 21
0
        public void DeveAlterarNome()
        {
            var nome = _faker.Company.CompanyName();

            var empresa = EmpresaBuilder
                          .Novo()
                          .Build();

            empresa.AlterarNome(nome);

            Assert.Equal(nome, empresa.Nome);
        }
Esempio n. 22
0
        public void DeveAlterarCnpj()
        {
            var cnpj = _faker.Random.String();

            var empresa = EmpresaBuilder
                          .Novo()
                          .Build();

            empresa.AlterarCnpj(cnpj);

            Assert.Equal(cnpj, empresa.Cnpj);
        }
Esempio n. 23
0
        public void DeveAlterarDataFundacao()
        {
            var dataFundacao = _faker.Date.Recent();

            var empresa = EmpresaBuilder
                          .Novo()
                          .Build();

            empresa.AlterarDataFundacao(dataFundacao);

            Assert.Equal(dataFundacao, empresa.DataFundacao);
        }
        public async Task DeveVincularFuncionarioNaEmpresa()
        {
            var funcionario = FuncionarioBuilder.Novo().ComId(_idFuncionario).Build();
            var empresa     = EmpresaBuilder.Novo().ComId(_idEmpresa).Build();

            _funcionarioRepositorioMock.Setup(_ => _.ObterPorIdAsync(_idFuncionario)).ReturnsAsync(funcionario);
            _empresaRepositorioMock.Setup(_ => _.ObterPorIdAsync(_idEmpresa)).ReturnsAsync(empresa);

            await _vinculadorDeFuncionarioNaEmpresa.Vincular(_idFuncionario, _idEmpresa);

            Assert.Equal(funcionario.EmpresaId, empresa.Id);
            Assert.Equal(funcionario.Empresa, empresa);
        }
Esempio n. 25
0
        public void DeveRetornarFalseQuandoDataFundacaoForMaiorQueDataDeHoje()
        {
            var dataFundacaoInvalida = DateTime.Now.AddDays(1);
            var empresa = EmpresaBuilder.Novo()
                          .ComNome(_nomeValido)
                          .ComCnpj(_cnpjTamanhoValido)
                          .ComDataFundacao(dataFundacaoInvalida)
                          .Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 26
0
        public void DeveValidarDataFundacaoMaiorQueValorMinimo()
        {
            var dataFundacao = DateTime.MinValue;

            var empresa = EmpresaBuilder
                          .Novo()
                          .ComDataFundacao(dataFundacao)
                          .Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 27
0
        public async Task DeveNotificarQuandoExisteFuncionarioVinculadoNaEmpresa()
        {
            var funcionario = FuncionarioBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();
            var empresa     = EmpresaBuilder.Novo().ComId(_empresaId).ComFuncionario(funcionario).Build();

            _empresaRepositorioMock.Setup(_ => _.ObterPorIdAsync(_empresaId)).ReturnsAsync(empresa);

            await _validadorDeExclusaoDeEmpresa.ValidarAsync(_empresaId);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.Is <string>(
                                                                                        _1 => _1 == EmpresaResources.ExisteFuncionarioVinculadoNaEmpresa
                                                                                        )));
        }
Esempio n. 28
0
        public void DeveCriarEmpresa()
        {
            var empresa = EmpresaBuilder
                          .Novo()
                          .ComNome(_nome)
                          .ComCnpj(_cnpj)
                          .ComDataFundacao(_dataFundacao)
                          .Build();

            Assert.Equal(_nome, empresa.Nome);
            Assert.Equal(_cnpj, empresa.Cnpj);
            Assert.Equal(_dataFundacao, empresa.DataFundacao);
        }
Esempio n. 29
0
        public void DeveValidarCnpjCaracteres()
        {
            var cnpj = _faker.Lorem.Sentence(15);

            var empresa = EmpresaBuilder
                          .Novo()
                          .ComCnpj(cnpj)
                          .Build();

            var resultado = empresa.Validar();

            Assert.False(resultado);
        }
Esempio n. 30
0
        public void DeveAlterarEmpresa()
        {
            var empresa = EmpresaBuilder
                          .Novo()
                          .Build();

            var funcionario = FuncionarioBuilder
                              .Novo()
                              .Build();

            funcionario.AlterarEmpresa(empresa);

            Assert.Equal(empresa, funcionario.Empresa);
        }