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 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 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 void NaoDeveAceitarDescricaoComQuantidadeCaracterInvalido(int quantidadeDeCaracteres) { var descricaoInvalido = _onboardingSIGDB1faker.FraseComQuantidadeExataDeCaracteres(quantidadeDeCaracteres); var empresa = CargoBuilder.Novo().ComDescricao(descricaoInvalido).Build(); Assert.False(empresa.Validar()); }
public void DeveNotificarQuandoAtualizarCargoComDescricaoQueJaFoiUtilizada() { CargoDto dto = GerarCargoDtoParaAtualizarCargo(_descricaoValida); Cargo cargo = CargoBuilder.Novo() .ComId(dto.Id) .ComDescricao(dto.Descricao) .Build(); var cargoJaExiste = new List <Cargo> { CargoBuilder.Novo().ComId(dto.Id).ComDescricao(dto.Descricao).Build(), CargoBuilder.Novo().ComId(2).ComDescricao(_descricaoValida).Build() }; _cargoRepositorioMock.Setup(x => x.ObterPorId(dto.Id)).Returns(cargo); _cargoRepositorioMock.Setup(x => x.ObterPorDescricao(_descricaoValida)).Returns(cargoJaExiste); _armazenadorDeCargo.Armazenar(dto); _notificationContextMock.Verify( x => x.AddNotification(TipoDeNotificacao.ErroDeServico, "Descrição utilizada"), Times.Once ); }
public void DeveRetornarFalseQuandoDescricaoEstiverVaziaOuNula(string descricaoVazia) { var cargo = CargoBuilder.Novo().ComDescricao(descricaoVazia).Build(); var resultado = cargo.Validar(); Assert.False(resultado); }
public void NaoDeveAceitarVinculoComCargoSemCadastro() { var cargoInvalido = CargoBuilder.Novo().Build(); var cargoDoFuncionario = CargoDoFuncionarioBuilder.Novo().ComCargo(cargoInvalido).Build(); Assert.False(cargoDoFuncionario.Validar()); }
public void DeveRetornarFalseQuandoDescricaoForMuitoGrande() { var descricaoInvalida = _faker.Random.String2(251); var cargo = CargoBuilder.Novo().ComDescricao(descricaoInvalida).Build(); var resultado = cargo.Validar(); Assert.False(resultado); }
public void DeveCriarCargo() { var cargo = CargoBuilder .Novo() .ComDescricao(_descricao) .Build(); Assert.Equal(_descricao, cargo.Descricao); }
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(); }
private void MockarAEdicaoDoDto() { var cargoDoBancoDeDados = CargoBuilder.Novo(). ComId(_id). ComDescricao(_cargoDto.Descricao). Build(); _editarUmCargoMock.Setup(_ => _.EditarAsync(_cargoDto)) .ReturnsAsync(cargoDoBancoDeDados); }
public void DeveCriarUmCargo() { var cargoEsperado = new { Descricao = "teste" }; var cargo = CargoBuilder.Novo().ComDescricao("teste").Build(); cargoEsperado.ToExpectedObject().ShouldMatch(cargo); }
public void DeveValidarDescricaoCaracteres() { var cargo = CargoBuilder .Novo() .ComDescricao(_faker.Lorem.Random.String2(251)) .Build(); var resultado = cargo.Validar(); Assert.False(resultado); }
public void DeveValidarDescricaoObrigatoria(string descricaoInvalida) { var cargo = CargoBuilder .Novo() .ComDescricao(descricaoInvalida) .Build(); var resultado = cargo.Validar(); Assert.False(resultado); }
public async Task DeveExcluiroCargo() { var cargo = CargoBuilder.Novo().ComId(_cargoId).Build(); _cargoRepositorioMock.Setup(_ => _.ObterPorIdAsync(_cargoId)).ReturnsAsync(cargo); await _exclusaoDeCargo.ExcluirAsync(_cargoId); _cargoRepositorioMock.Verify(_ => _.Remover(It.Is <Cargo>( _1 => _1.Id == _cargoId ))); }
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 ))); }
public async Task DeveEditarADescricaoDoCargo() { var descricaoInicial = _onboardingSIGDB1faker.FraseComQuantidadeExataDeCaracteres(Constantes.Numero250); var cargoDoBancoDeDados = CargoBuilder.Novo().ComId(_id).Build(); _cargoDto.Id = _id; _cargoRepositorioMock.Setup(_ => _.ObterPorIdAsync(_id)).ReturnsAsync(cargoDoBancoDeDados); await _editarUmCargo.EditarAsync(_cargoDto); Assert.NotEqual(cargoDoBancoDeDados.Descricao, descricaoInicial); Assert.Equal(cargoDoBancoDeDados.Descricao, _cargoDto.Descricao); }
public void Armazenar(CargoDto dto) { Cargo cargo; if (dto.Id == 0) { cargo = CargoBuilder.Novo().ComDescricao(dto.Descricao).Build(); } else { cargo = _cargoRepositorio.ObterPorId(dto.Id); if (cargo == null) { _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Cargo não encontrado"); return; } List <Cargo> cargos = _cargoRepositorio.ObterPorDescricao(dto.Descricao); if (cargos.Count > 0 && cargos.Any(x => x.Id != cargo.Id)) { _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Descrição utilizada"); return; } cargo.Descricao = dto.Descricao; _cargoRepositorio.Put(cargo); } if (!cargo.Validar()) { _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Cargo inválido"); return; } if (dto.Id == 0) { List <Cargo> cargos = _cargoRepositorio.ObterPorDescricao(dto.Descricao); if (cargos.Count > 0) { _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Descrição utilizada"); return; } _cargoRepositorio.Post(cargo); } }
public void TestarNaoDeveAlterarCargoMesmaDescricaoDeOutroJaSalvo() { var cargo = CargoBuilder.Novo().Build(); _cargoRepositoryMock.Setup(r => r.Get(It.IsAny <Expression <Func <Cargo, bool> > >())).Returns(cargo); _cargoDTO.Descricao = cargo.Descricao; _cargoRepositoryMock.Setup(r => r.Exist(It.IsAny <Expression <Func <Cargo, bool> > >())).Returns(true); _gravarCargoService.Alterar(0, _cargoDTO); _cargoRepositoryMock.Verify(m => m.Update( It.Is <Cargo>(c => c.Descricao == _cargoDTO.Descricao) ), Times.Never()); }
public void DeveAdicionarFuncionario() { var cargo = CargoBuilder.Novo().Build(); var funcionarioCargo = new FuncionarioCargo() { IdCargo = cargo.Id, IdFuncionario = 1, DataVinculo = DateTime.Now }; cargo.AdicionarFuncionario(funcionarioCargo); Assert.Contains(funcionarioCargo, cargo.FuncionariosCargos); }
public void DeveExcluirUmCargo() { int id = 1; string descricao = "descricao"; Cargo cargo = CargoBuilder.Novo() .ComId(id) .ComDescricao(descricao) .ComFuncionarios(new List <Funcionario>()) .Build(); _cargoRepositorioMock.Setup(x => x.ObterPorId(id)).Returns(cargo); var cargoExcluidoComSucesso = _excluidorDeCargo.Excluir(id); Assert.True(cargoExcluidoComSucesso); }
public void TestarDeveAlterarCargo() { var cargo = CargoBuilder.Novo().Build(); _cargoRepositoryMock.Setup(r => r.Get(It.IsAny <Expression <Func <Cargo, bool> > >())).Returns(cargo); while (cargo.Descricao.Equals(_cargoDTO.Descricao)) { _cargoDTO.Descricao = _fake.Random.Words(2); } _gravarCargoService.Alterar(0, _cargoDTO); _cargoRepositoryMock.Verify(m => m.Update( It.Is <Cargo>(c => c.Descricao == _cargoDTO.Descricao) )); }
public void DeveAtualizarCargo() { CargoDto dto = GerarCargoDtoParaAtualizarCargo(_descricaoValida); Cargo cargo = CargoBuilder.Novo() .ComId(dto.Id) .ComDescricao(dto.Descricao) .Build(); _cargoRepositorioMock.Setup(x => x.ObterPorId(dto.Id)).Returns(cargo); _cargoRepositorioMock.Setup(x => x.ObterPorDescricao(dto.Descricao)).Returns(new List <Cargo>()); _armazenadorDeCargo.Armazenar(dto); _cargoRepositorioMock.Verify(x => x.Put( It.Is <Cargo>( c => c.Descricao == dto.Descricao )), Times.Once ); }
public void DeveAtualizar() { //Given var dto = new CargoDto { Id = _faker.Random.Int(100), Descricao = _faker.Random.AlphaNumeric(50) }; var cargoMock = CargoBuilder.Novo().ComId(dto.Id).Build(); _cargoRepositoryMock .Setup(cr => cr.ObterPorId(dto.Id)) .Returns(cargoMock); //When _armazenadorDeCargo.Armazenar(dto); //Then _cargoRepositoryMock.Verify(cr => cr.Atualizar(cargoMock), Times.Once); }
public void NaoDeveAceitarDescricaoNuloOuVazio(string descricao) { var cargo = CargoBuilder.Novo().ComDescricao(descricao).Build(); Assert.False(cargo.Validar()); }
public void TestarCriacaoCargoDescricaoValida() { Cargo cargo = CargoBuilder.Novo().Build(); Assert.True(cargo.Validar()); }
public void TestarCriacaoCargoDescricaoInvalida(string descricao) { Cargo cargo = CargoBuilder.Novo().ComDescricao(descricao).Build(); Assert.False(cargo.Validar()); }