예제 #1
0
        public void NaoDeveEditarCargoComEspacosDepoisEAntesDaDescricao()
        {
            var cargo = CargoBuilder.Novo().Build();

            cargo.AlterarDescricao(_nomeComEspaco);

            Assert.Equal(_nomeComEspaco.Trim(), cargo.Descricao);
        }
예제 #2
0
        public void DeveValidarDescricaoObrigatoriaQuandoCriar(string descricaoInvalida)
        {
            var cargo = CargoBuilder.Novo().ComDescricao(descricaoInvalida).Build();

            var resultado = cargo.Validar();

            Assert.False(resultado);
        }
예제 #3
0
        public void DeveCriarCargo()
        {
            var cargoEsperado = CargoBuilder.Novo().Build();

            var cargo = new Cargo(cargoEsperado.Descricao);

            Assert.Equal(cargoEsperado.Descricao, cargo.Descricao);
        }
예제 #4
0
        public void DeveAlterarDescricao()
        {
            var descricao = _faker.Random.Word();
            var cargo     = CargoBuilder.Novo().Build();

            cargo.AlterarDescricao(descricao);

            Assert.Equal(descricao, cargo.Descricao);
        }
예제 #5
0
        public async Task DeveExcluirCargo()
        {
            var cargo = CargoBuilder.Novo().Build();

            _cargoRepositorioMock.Setup(r => r.ObterPorIdAsync(CargoId)).Returns(Task.FromResult(cargo));

            await _exclusaoDeCargo.Excluir(CargoId);

            _cargoRepositorioMock.Verify(r => r.Remover(cargo));
        }
예제 #6
0
        private void CriarCenarioParaEditarCargo(out Cargo cargoParaEdicao, out CargoDto cargoDto)
        {
            const int cargoId = 1;

            cargoParaEdicao = CargoBuilder.Novo().ComId(cargoId).Build();
            cargoDto        = new CargoDto
            {
                Id        = cargoId,
                Descricao = _faker.Lorem.Sentence(),
            };
            _cargoRepositorioMock.Setup(r => r.ObterPorIdAsync(cargoId))
            .ReturnsAsync(cargoParaEdicao);
        }
예제 #7
0
        public async Task DeveNotificarErroQuandoExistirUmOutroCargoComMesmoNome()
        {
            const int idDoOutroCargo = 1050;
            var       erroEsperado   = string.Format(CommonResources.MsgDominioComMesmoNomeNoMasculino, CommonResources.CargoDominio);
            var       cargoSalvo     = CargoBuilder.Novo().ComId(idDoOutroCargo).Build();

            _cargoRepositorioMock.Setup(repositorio =>
                                        repositorio.ObterPorDescricaoAsync(_cargoDto.Descricao)).Returns(Task.FromResult(cargoSalvo));

            await _armazenadorDeCargo.Armazenar(_cargoDto);

            _notificacaoDeDominioMock.Verify(notificacao =>
                                             notificacao.HandleAsync(It.Is <DomainNotification>(d => d.Value == erroEsperado)));
        }
예제 #8
0
        public async Task NaoDeveRemoverQuandoCargoVinculadoAFuncionario()
        {
            var cargo = CargoBuilder.Novo().Build();

            _cargoRepositorioMock.Setup(rep => rep.ObterPorIdAsync(CargoId)).Returns(Task.FromResult(cargo));

            var funcionario = new Funcionario("nome", "12345678909");

            _funcionarioRepositorioMock.Setup(rep => rep.ObterPorCargoIdAsync(cargo.Id)).Returns(Task.FromResult(funcionario));

            await _exclusaoDeCargo.Excluir(CargoId);

            _notificacaoDeDominioMock.Verify(notificacao =>
                                             notificacao.HandleAsync(It.Is <DomainNotification>(
                                                                         d => d.Value == CommonResources.MsgCargoEstaVinculadoComFuncionario
                                                                         ))
                                             );
        }
예제 #9
0
        public void NaoDeveCriarCargoComEspacosDepoisDaDescricao()
        {
            var cargo = CargoBuilder.Novo().ComDescricao(_descricao.PadRight(_tamanhoDeEspacos)).Build();

            Assert.Equal(_descricao, cargo.Descricao);
        }