예제 #1
0
        public void NaoDeveTerDataInvalida()
        {
            var dataInvalida = DateTime.MinValue;
            var funcionario  = FuncionarioBuilder.Novo().ComDataContratacao(dataInvalida).Build();

            Assert.False(funcionario.Validar());
        }
예제 #2
0
        public void NaoDeveAlterarComNomeInvalido(string nomeInvalido)
        {
            var funcionario = FuncionarioBuilder.Novo().Build();

            funcionario.AlterarNome(nomeInvalido);

            Assert.False(funcionario.Validar());
        }
예제 #3
0
        public void DeveAlterarData()
        {
            var dataEsperada = DateTime.Now;
            var funcionario  = FuncionarioBuilder.Novo().Build();

            funcionario.AlterarDataContratacao(dataEsperada);

            Assert.True(funcionario.Validar());
        }
예제 #4
0
        public void DeveAlterarNome()
        {
            var nomeEsperado = _faker.Person.FullName;
            var funcionario  = FuncionarioBuilder.Novo().Build();

            funcionario.AlterarNome(nomeEsperado);

            Assert.True(funcionario.Validar());
        }
예제 #5
0
        public async Task NaoDeveVincularEmpresaNaoExistente()
        {
            var funcionario = FuncionarioBuilder.Novo().Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);

            await _vinculadorDeEmpresaAoFuncionario.VincularEmpresa(_funcionarioDto.Id, (int)_funcionarioDto.EmpresaId);

            Assert.Contains(Resource.EmpresaNaoLocalizada, _notificationContext.Object.Notifications.Select(n => n.Message));
        }
        public async Task DeveRemoverFuncionario()
        {
            var funcionario = FuncionarioBuilder.Novo().ComEmpresa((int)_funcionarioDto.EmpresaId).Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);

            await _removedorDeFuncionario.Excluir(_funcionarioDto.Id);

            _funcionarioRepositorioMock.Verify(r => r.Excluir(It.IsAny <int>()));
        }
        public async Task NaoDeveVincularCargoAFuncionarioSemEmpresa()
        {
            var funcionario = FuncionarioBuilder.Novo().Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);

            await _vinculadorDeCargoAoFuncionario.VincularCargo(_funcionarioDto.Id, (int)_funcionarioDto.CargoId);

            Assert.Contains(Resource.FuncionarioNaoVinculadoEmpresa, _notificationContext.Object.Notifications.Select(n => n.Message));
        }
예제 #8
0
        public async Task DeveVincularEmpresaAoFuncionario()
        {
            var funcionario = FuncionarioBuilder.Novo().Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);
            _repositorioDeEmpresa.Setup(e => e.RecuperarPorId((int)_funcionarioDto.EmpresaId)).ReturnsAsync(_empresa);

            await _vinculadorDeEmpresaAoFuncionario.VincularEmpresa(_funcionarioDto.Id, (int)_funcionarioDto.EmpresaId);

            Assert.Equal(_funcionarioDto.EmpresaId, funcionario.Empresa.Id);
        }
        public async Task DeveVincularCargoAoFuncionario()
        {
            var funcionario = FuncionarioBuilder.Novo().ComEmpresa((int)_funcionarioDto.EmpresaId).Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);
            _repositorioDeCargo.Setup(c => c.RecuperarPorId((int)_funcionarioDto.CargoId)).ReturnsAsync(_cargo);

            await _vinculadorDeCargoAoFuncionario.VincularCargo(_funcionarioDto.Id, (int)_funcionarioDto.CargoId);

            Assert.Equal(_funcionarioDto.CargoId, funcionario.CargosFuncionario.FirstOrDefault().Cargo.Id);
        }
        public async Task NaoDeveAdicionarFuncionarioComMesmoCpfDeOutroJaSalvo()
        {
            var funcionarioJaSalvo = FuncionarioBuilder.Novo().ComId(_funcionarioDto.Id).ComCpf(_funcionarioDto.Cpf).Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorCpf(_funcionarioDto.Cpf)).ReturnsAsync(funcionarioJaSalvo);

            await _armazenadorDeFuncionario.Salvar(_funcionarioDto);

            //_notificationContext.Verify(n => It.Is<NotificationContext>(f => f.Notifications.Where(m => m.Message.Equals(Resource.FuncionarioJaCadastrado))));

            Assert.Contains(Resource.FuncionarioJaCadastrado, _notificationContext.Object.Notifications.Select(n => n.Message));
        }
        public async Task DeveAlterarDadosDoFuncionario()
        {
            _funcionarioDto.Nome            = _fake.Person.FullName;
            _funcionarioDto.DataContratacao = DateTime.Now;
            var funcionario = FuncionarioBuilder.Novo().Build();

            _funcionarioRepositorioMock.Setup(r => r.RecuperarPorId(_funcionarioDto.Id)).ReturnsAsync(funcionario);

            await _alteradorDeFuncionario.Alterar(_funcionarioDto.Id, _funcionarioDto);

            Assert.Equal(_funcionarioDto.Nome, funcionario.Nome);
            Assert.Equal(_funcionarioDto.DataContratacao, funcionario.DataContratacao);
        }
예제 #12
0
        public void NaoDeveTerCpfInvalido(string cpfInvalido)
        {
            var funcionario = FuncionarioBuilder.Novo().ComCpf(cpfInvalido).Build();

            Assert.False(funcionario.Validar());
        }