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); }
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!")); }
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."); }
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."); }
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"); }
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"); }
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); }
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); }