Esempio n. 1
0
        public void NaoDeveVincularCargoQuandoNaoTemEmpresa()
        {
            //Given
            var dto = new FuncionarioDto
            {
                Id      = _faker.Random.Number(100),
                IdCargo = _faker.Random.Number(100)
            };

            var funcionarioMock = FuncionarioBuilder.Novo().ComId(dto.Id).Build();
            var cargoMock       = CargoBuilder.Novo().ComId(dto.IdCargo).Build();

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

            _cargoRepositoryMock
            .Setup(cr => cr.ObterPorId(dto.IdCargo))
            .Returns(cargoMock);

            //When
            _vinculacaoDeFuncionarioACargo.VincularCargo(dto);

            //Then
            _funcionarioRepositoryMock.Verify(fr => fr.Atualizar(funcionarioMock), Times.Never);
        }
        public void NaoDeveAceitarNomeComQuantidadeCaracterInvalido(int quantidadeDeCaracteres)
        {
            var nomeInvalido = _onboardingSIGDB1faker.FraseComQuantidadeExataDeCaracteres(quantidadeDeCaracteres);
            var funcionario  = FuncionarioBuilder.Novo().ComNome(nomeInvalido).Build();

            Assert.False(funcionario.Validar());
        }
Esempio n. 3
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);
        }
        public void NaoDeveAceitarCpfComTamanhoInvalido(int quantidadeDeCaracteres)
        {
            var cpfInvalido = _onboardingSIGDB1faker.NumeroComQuantidadeExataDeCaracteresComoString(quantidadeDeCaracteres);
            var funcionario = FuncionarioBuilder.Novo().ComCpf(cpfInvalido).Build();

            Assert.False(funcionario.Validar());
        }
        public void NaoDeveAceitarDataDeContratacaoComADataMinima()
        {
            var dataInvalida = DateTime.MinValue;
            var funcionario  = FuncionarioBuilder.Novo().ComDataDeContratacao(dataInvalida).Build();

            Assert.False(funcionario.Validar());
        }
Esempio n. 6
0
        public void DeveNotificarQueExistemFuncionariosUtilizandoEsseCargo()
        {
            int                id           = -1;
            string             descricao    = "descricao";
            List <Funcionario> funcionarios = new List <Funcionario>()
            {
                FuncionarioBuilder.Novo().ComId(1).Build()
            };
            Cargo cargo = CargoBuilder.Novo()
                          .ComId(id)
                          .ComDescricao(descricao)
                          .ComFuncionarios(funcionarios)
                          .Build();

            _cargoRepositorioMock.Setup(x => x.ObterPorId(id)).Returns(cargo);

            var cargoExcluidoComSucesso = _excluidorDeCargo.Excluir(id);

            _notificationContextMock.Verify(
                x =>
                x.AddNotification(TipoDeNotificacao.ErroDeServico, "Existem funcionários associados ao cargo"),
                Times.Once
                );
            Assert.False(cargoExcluidoComSucesso);
        }
Esempio n. 7
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. 8
0
        public void NaoDeveAceitarVinculoComFuncionarioSemCadastro()
        {
            var funcionarioInvalido = FuncionarioBuilder.Novo().Build();

            var cargoDoFuncionario = CargoDoFuncionarioBuilder.Novo().ComFuncionario(funcionarioInvalido).Build();

            Assert.False(cargoDoFuncionario.Validar());
        }
Esempio n. 9
0
        public void NaoDeveAceitarFuncionarioSemEmpresa()
        {
            var funcionarioSemEmpresa = FuncionarioBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();

            var cargoDoFuncionario = CargoDoFuncionarioBuilder.Novo().ComFuncionario(funcionarioSemEmpresa).Build();

            Assert.False(cargoDoFuncionario.Validar());
        }
        public async Task NaoDeveAceitarCpfJaCadastrado()
        {
            _funcionarioRepositorio.Setup(_ => _.ObterPorCpfAsync(_cpf))
            .ReturnsAsync(FuncionarioBuilder.Novo().ComId(_id).ComCpf(_cpf).Build());

            await _validadorCpfDaFuncionarioJaExistente.ValidarAsync(_cpf);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.Is <string>(_1 => _1 == _erroEsperado)));
        }
        public async Task DeveAceitarCnpjJaCadastradoComOMesmoId()
        {
            _funcionarioRepositorio.Setup(_ => _.ObterPorCpfAsync(_cpf))
            .ReturnsAsync(FuncionarioBuilder.Novo().ComId(_id).ComCpf(_cpf).Build());

            await _validadorCpfDaFuncionarioJaExistente.ValidarAsync(_cpf, _id);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.IsAny <string>()), Times.Never);
        }
Esempio n. 12
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();
        }
        public async Task QuandoEmpresaNaoExisteDeveNotificarErroDeServico()
        {
            var funcionario = FuncionarioBuilder.Novo().ComId(_idFuncionario).Build();

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

            await _vinculadorDeFuncionarioNaEmpresa.Vincular(_idFuncionario, _idEmpresa);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.Is <string>(_1 => _1 == EmpresaResources.EmpresaNaoExiste)));
        }
Esempio n. 14
0
        public void DeveRetornarFalseQuandoNomeEstiverVazio(string nomeVazio)
        {
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(nomeVazio)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 15
0
        public void DeveRetornarFalseQuandoNomeForMuitoGrande()
        {
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(_nomeTamanhoInvalido)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 16
0
        public void DeveValidarNomeCaracteres()
        {
            var funcionario = FuncionarioBuilder
                              .Novo()
                              .ComNome(_faker.Name.FullName())
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 17
0
        public void DeveRetornarFalseQuandoCpfEstiverVazio(string cpfVazio)
        {
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(_nomeTamanhoValido)
                              .ComCpf(cpfVazio)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 18
0
        public void DeveValidarCpfObrigatorio(string cpfInvalido)
        {
            var funcionario = FuncionarioBuilder
                              .Novo()
                              .ComCpf(cpfInvalido)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 19
0
        public void DeveValidarNomeObrigatorio(string nomeInvalido)
        {
            var funcionario = FuncionarioBuilder
                              .Novo()
                              .ComNome(nomeInvalido)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 20
0
        public void DeveRetornarFalseQuandoTamanhoDoCpfForDiferenteDe11(int cpfTamanhoInvalido)
        {
            var cpfInvalido = _faker.Random.String2(cpfTamanhoInvalido);
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(_nomeTamanhoValido)
                              .ComCpf(cpfInvalido)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 21
0
        public async Task DeveValidarDominioNaEdicao(string nomeInvalido)
        {
            _funcionarioDto.Id   = _id;
            _funcionarioDto.Nome = nomeInvalido;
            var funcionarioDoBancoDeDados = FuncionarioBuilder.Novo().ComId(_id).Build();

            MockarAEdicaoDoDto();

            await _armazenadorDeFuncionario.ArmazenarAsync(_funcionarioDto);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeDominioAsync(It.IsAny <string>()));
        }
Esempio n. 22
0
        private void MockarAEdicaoDoDto()
        {
            var funcionarioDoBancoDeDados = FuncionarioBuilder.Novo().
                                            ComId(_id).
                                            ComCpf(_funcionarioDto.Cpf).
                                            ComNome(_funcionarioDto.Nome).
                                            ComDataDeContratacao(_funcionarioDto.DataDeContratacao)
                                            .Build();

            _editarUmFuncionarioMock.Setup(_ => _.EditarAsync(_funcionarioDto))
            .ReturnsAsync(funcionarioDoBancoDeDados);
        }
        public async Task DeveExcluirFuncionario()
        {
            var funcionario = FuncionarioBuilder.Novo().ComId(_funcionarioId).Build();

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

            await _exclusaoDeFuncionario.ExcluirAsync(_funcionarioId);

            _funcionarioRepositorioMock.Verify(_ => _.Remover(It.Is <Funcionario>(
                                                                  _1 => _1.Id == _funcionarioId
                                                                  )));
        }
Esempio n. 24
0
        public void DeveAlterarNome()
        {
            var nome = _faker.Company.CompanyName();

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

            funcionario.AlterarNome(nome);

            Assert.Equal(nome, funcionario.Nome);
        }
        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. 26
0
        public void DeveAlterarCpf()
        {
            var cpf = _faker.Random.String();

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

            funcionario.AlterarCpf(cpf);

            Assert.Equal(cpf, funcionario.Cpf);
        }
Esempio n. 27
0
        public void DeveAlterarDataContratacao()
        {
            var dataContratacao = _faker.Date.Recent();

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

            funcionario.AlterarDataContratacao(dataContratacao);

            Assert.Equal(dataContratacao, funcionario.DataContratacao);
        }
Esempio n. 28
0
        public void DeveAlterarIdEmpresa()
        {
            int idEmpresa = 5;

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

            funcionario.AlterarIdEmpresa(idEmpresa);

            Assert.Equal(idEmpresa, funcionario.IdEmpresa);
        }
        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. 30
0
        public async Task DeveNotificarQuandoExisteFuncionarioVinculadoNoCargo()
        {
            var funcionario = FuncionarioBuilder.Novo().ComId(_onboardingSIGDB1faker.Id()).Build();
            var cargo       = CargoBuilder.Novo().ComId(_cargoId).ComFuncionario(funcionario).Build();

            _cargoRepositorioMock.Setup(_ => _.ObterPorIdAsync(_cargoId)).ReturnsAsync(cargo);

            await _validadorDeExclusaoDeCargo.ValidarAsync(_cargoId);

            _notificacaoDeDominioMock.Verify(_ => _.HandleNotificacaoDeServicoAsync(It.Is <string>(
                                                                                        _1 => _1 == CargoResources.ExisteFuncionarioVinculadoNoCargo
                                                                                        )));
        }