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()); }
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()); }
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); }
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 ); }
public void NaoDeveAceitarVinculoComFuncionarioSemCadastro() { var funcionarioInvalido = FuncionarioBuilder.Novo().Build(); var cargoDoFuncionario = CargoDoFuncionarioBuilder.Novo().ComFuncionario(funcionarioInvalido).Build(); Assert.False(cargoDoFuncionario.Validar()); }
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); }
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))); }
public void DeveRetornarFalseQuandoNomeEstiverVazio(string nomeVazio) { var funcionario = FuncionarioBuilder.Novo() .ComNome(nomeVazio) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
public void DeveRetornarFalseQuandoNomeForMuitoGrande() { var funcionario = FuncionarioBuilder.Novo() .ComNome(_nomeTamanhoInvalido) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
public void DeveValidarNomeCaracteres() { var funcionario = FuncionarioBuilder .Novo() .ComNome(_faker.Name.FullName()) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
public void DeveRetornarFalseQuandoCpfEstiverVazio(string cpfVazio) { var funcionario = FuncionarioBuilder.Novo() .ComNome(_nomeTamanhoValido) .ComCpf(cpfVazio) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
public void DeveValidarCpfObrigatorio(string cpfInvalido) { var funcionario = FuncionarioBuilder .Novo() .ComCpf(cpfInvalido) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
public void DeveValidarNomeObrigatorio(string nomeInvalido) { var funcionario = FuncionarioBuilder .Novo() .ComNome(nomeInvalido) .Build(); var resultado = funcionario.Validar(); Assert.False(resultado); }
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 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>())); }
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 ))); }
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))); }
public void DeveAlterarCpf() { var cpf = _faker.Random.String(); var funcionario = FuncionarioBuilder .Novo() .Build(); funcionario.AlterarCpf(cpf); Assert.Equal(cpf, funcionario.Cpf); }
public void DeveAlterarDataContratacao() { var dataContratacao = _faker.Date.Recent(); var funcionario = FuncionarioBuilder .Novo() .Build(); funcionario.AlterarDataContratacao(dataContratacao); Assert.Equal(dataContratacao, funcionario.DataContratacao); }
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); }
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 ))); }