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

            Assert.False(funcionario.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);
        }
        public void NaoDeveAceitarNomeComQuantidadeCaracterInvalido(int quantidadeDeCaracteres)
        {
            var nomeInvalido = _onboardingSIGDB1faker.FraseComQuantidadeExataDeCaracteres(quantidadeDeCaracteres);
            var funcionario  = FuncionarioBuilder.Novo().ComNome(nomeInvalido).Build();

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

            Assert.False(funcionario.Validar());
        }
        public async Task Vicular_Funcionario_Cargo_Duplicado()
        {
            var builder = new FuncionarioBuilder()
                          .WithId(1)
                          .WithCargos(2)
                          .WithEmpresa();

            var funcionario = builder.Build();

            _funcionarioRepository
            .Setup(c => c.GetWithIncludes(It.IsAny <Predicate <Funcionario> >()))
            .ReturnsAsync(new List <Funcionario>()
            {
                funcionario
            });

            await _vinculadorDeFuncionarioCargo.Vincular(funcionario.Id,
                                                         funcionario.FuncionarioCargos.First().CargoId,
                                                         DateTime.Now.Date);

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

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

            _funcionarioRepository.Verify(r => r.Update(funcionario), Times.Never);
        }
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 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);
        }
        private void btnGravar_Click(object sender, EventArgs e)
        {
            Funcionario objeto = FuncionarioBuilder.iniciar().
                                 comSexo(int.Parse(cmbSexo.SelectedValue.ToString())).
                                 comDepartamento(int.Parse(cmbDepartamento.SelectedValue.ToString())).
                                 comNome(txtNome.Text).
                                 comEnderecos(this.arrenderecos).
                                 construir();

            try
            {
                Type            tipo     = Type.GetType("ClienteREST.Operador.Operador" + formato);
                IntOperadorREST op       = (IntOperadorREST)Activator.CreateInstance(tipo);
                CtrlFuncionario controle = new CtrlFuncionario();

                Funcionario resposta = controle.cadastrar <Funcionario>(objeto, op);

                MessageBox.Show(
                    resposta.id + "º cadastrado com sucesso!",
                    "Sucesso!",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information,
                    MessageBoxDefaultButton.Button1);
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    "Seus dados extraviaram, sei não!",
                    "Erro!",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation,
                    MessageBoxDefaultButton.Button1);
            }
        }
Esempio n. 10
0
        public async Task Inserir_Funcionario_Nome_Invalido(string nome)
        {
            var builder     = new FuncionarioBuilder().WithNome(nome);
            var funcionario = builder.Build();
            var dto         = builder.BuildDto();

            await VerifyInsertFuncionario(funcionario, dto);
        }
Esempio n. 11
0
        public async Task Inserir_Funcionario_Cpf_Tamanho_Invalido(string cpf)
        {
            var builder     = new FuncionarioBuilder().WithCpf(cpf);
            var funcionario = builder.Build();
            var dto         = builder.BuildDto();

            await VerifyInsertFuncionario(funcionario, dto);
        }
Esempio n. 12
0
        public void NaoDeveAceitarVinculoComFuncionarioSemCadastro()
        {
            var funcionarioInvalido = FuncionarioBuilder.Novo().Build();

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

            Assert.False(cargoDoFuncionario.Validar());
        }
Esempio n. 13
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 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);
        }
        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 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. 17
0
 public void ReuniaoTesteSetUp()
 {
     _funcionario = FuncionarioBuilder.DadoUmFuncionario().Build();
     PessoaBuilder.DadoUmaPessoa().Build();
     _programa = ProgramaBuilder.DadoUmPrograma().Build();
     _local    = "um local";
     _titulo   = "Titulo da reuniao";
     SystemTime.SetCurrentTime = () => DateTime.Now;
     _data = SystemTime.Now;
 }
Esempio n. 18
0
        public void DeveRetornarFalseQuandoNomeForMuitoGrande()
        {
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(_nomeTamanhoInvalido)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 19
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. 20
0
        public void DeveRetornarFalseQuandoNomeEstiverVazio(string nomeVazio)
        {
            var funcionario = FuncionarioBuilder.Novo()
                              .ComNome(nomeVazio)
                              .Build();

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 21
0
        public void PossoAdicionarAnexosEmUmaAta()
        {
            var responsavel = FuncionarioBuilder.DadoUmFuncionario().Build();
            var ata         = new Ata(responsavel);
            var arquivo     = ArquivoBuilder.DadoUmArquivo().Build();

            ata.AdicionarAnexo(arquivo);

            CollectionAssert.Contains(ata.Anexos, arquivo);
        }
Esempio n. 22
0
        public async Task Inserir_Funcionario_Sucesso()
        {
            var builder = new FuncionarioBuilder();
            var dto     = builder.BuildDto();
            await _armazenadorDeFuncionario.Armazenar(dto);

            VerifyFuncionarioAdd(dto, Times.Once());

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

            var resultado = funcionario.Validar();

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

            var resultado = funcionario.Validar();

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

            var resultado = funcionario.Validar();

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

            var resultado = funcionario.Validar();

            Assert.False(resultado);
        }
Esempio n. 27
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);
        }
        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. 29
0
        public void DeveAlterarIdEmpresa()
        {
            int idEmpresa = 5;

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

            funcionario.AlterarIdEmpresa(idEmpresa);

            Assert.Equal(idEmpresa, funcionario.IdEmpresa);
        }
        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
                                                                  )));
        }