Exemple #1
0
        public async Task ShouldInvalidateAlterarSetorCommandWhenAlreadySetorWithSameName()
        {
            var setor = new Setor
            {
                Id     = 1,
                Nome   = "Teste",
                Status = StatusDeCadastro.Normal
            };

            var setorJaCadastrado = new Setor
            {
                Id     = 2,
                Nome   = "Teste",
                Status = StatusDeCadastro.Normal
            };

            _repositoryMock.Setup(r => r.Setor.GetSetorByIdAsync(1)).Returns(Task.FromResult(setor));
            _repositoryMock.Setup(r => r.Setor.GetSetorByNameAndDiferentIdAsync("Teste", 1)).Returns(Task.FromResult(setorJaCadastrado));

            var command = new AlterarSetorCommand(1, "Teste", StatusDeCadastro.Normal);

            var result = await _setorHandle.Handler(command);

            Assert.AreEqual("Já existe um setor com mesmo nome cadastrado", ((CommandResult)result).Message);
        }
Exemple #2
0
        public async Task <IResult> Handler(AlterarSetorCommand command)
        {
            command.Validate();

            if (!command.Valid)
            {
                return(command.ValidationResult);
            }

            var setor = await _repository.Setor.GetSetorByIdAsync(command.Id);

            if (setor == null)
            {
                return(new CommandResult(false, "Setor não encontrado", command.Notifications));
            }

            setor = await _repository.Setor.GetSetorByNameAndDiferentIdAsync(command.Nome, command.Id);

            if (setor != null)
            {
                return(new CommandResult(false, "Já existe um setor com mesmo nome cadastrado", command.Notifications));
            }

            var setorEntity = _mapper.Map <Setor>(command);

            _repository.Setor.Update(setorEntity);

            await _repository.SaveAsync();

            return(new CommandResult("Dados alterados com sucesso!"));
        }
Exemple #3
0
        public void ShouldInvalidateAlterarProjetoCommandWhenNameIsLessThan3()
        {
            var _alterarSetorCommand = new AlterarSetorCommand(1, "as", StatusDeCadastro.Normal);

            _alterarSetorCommand.Validate();

            var result = _alterarSetorCommand.Notifications.ToList();

            Assert.AreEqual(result[0].Message, "Nome deve ter no mínimo 3 caracteres.");
        }
Exemple #4
0
        public void ShouldInvalidateAlterarProjetoCommandWhenNameIsGreaterThan30()
        {
            var _alterarSetorCommand = new AlterarSetorCommand(1, "dhasghghghaghdgashdghgdhjghasgdjhagddhasghgh", StatusDeCadastro.Normal);

            _alterarSetorCommand.Validate();

            var result = _alterarSetorCommand.Notifications.ToList();

            Assert.AreEqual(result[0].Message, "Nome não pode ser maior que 30 caracteres.");
        }
Exemple #5
0
        public void ShouldInvalidateAlterarProjetoCommandWhenNameIsEmpty()
        {
            var _alterarSetorCommand = new AlterarSetorCommand(1, "", StatusDeCadastro.Normal);

            _alterarSetorCommand.Validate();

            var result = _alterarSetorCommand.Notifications.ToList();

            Assert.AreEqual(result[0].Message, "Nome é obrigatório");
        }
Exemple #6
0
        public void ShouldInvalidateAlterarProjetoCommandWhenIdIsZero()
        {
            var _alterarSetorCommand = new AlterarSetorCommand(0, "teste", StatusDeCadastro.Normal);

            _alterarSetorCommand.Validate();

            var result = _alterarSetorCommand.Notifications.ToList();

            Assert.AreEqual(result[0].Message, "Id do setor inválido");
        }
Exemple #7
0
        public async Task ShouldInvalidateCadastrarSetorCommandWhenNotFoundSetorById()
        {
            _repositoryMock.Setup(r => r.Setor.GetSetorByIdAsync(1));

            var command = new AlterarSetorCommand(1, "Teste", StatusDeCadastro.Normal);

            var result = await _setorHandle.Handler(command);

            Assert.AreEqual("Setor não encontrado", ((CommandResult)result).Message);
        }
Exemple #8
0
        public async Task ShouldInvalidateAlterarSetorCommandValid()
        {
            var setor = new Setor
            {
                Id     = 1,
                Nome   = "Teste",
                Status = StatusDeCadastro.Normal
            };

            _repositoryMock.Setup(r => r.Setor.GetSetorByIdAsync(1)).Returns(Task.FromResult(setor));
            _repositoryMock.Setup(r => r.Setor.Update(setor));
            _repositoryMock.Setup(r => r.SaveAsync());

            var command = new AlterarSetorCommand(1, "Teste", StatusDeCadastro.Normal);

            var result = await _setorHandle.Handler(command);

            Assert.AreEqual("Dados alterados com sucesso!", ((CommandResult)result).Message);
        }