public async Task ShouldInvalidateCadastrarUsuarioCommandWhenNotFoundSetorById() { var usuario = new Usuario { Id = 1, Nome = "Teste", Sigla = "FFF", Status = StatusDeCadastro.Normal, SetorId = 1, Login = "******", Senha = "teste" }; _repositoryMock.Setup(r => r.Usuario.GetUsuarioByNomeAsync("Teste")); _repositoryMock.Setup(r => r.Usuario.GetUsuarioBySiglaAsync("FFF")); _repositoryMock.Setup(r => r.Usuario.GetUsuarioByLoginAsync("teste")); _repositoryMock.Setup(r => r.Setor.GetSetorByIdAsync(1)); var command = new CadastrarUsuarioCommand( usuario.Nome, usuario.Sigla, usuario.SetorId, usuario.Status, usuario.Login, usuario.Senha ); var result = await _usuarioHandler.Handler(command); Assert.AreEqual("Setor não encontrado", ((CommandResult)result).Message); }
public async Task ShouldInvalidateCadastrarUsuarioCommandWhenAlreadyUsuarioWithSameSigla() { var usuario = new Usuario { Id = 1, Nome = "Teste", Sigla = "FFF", Status = StatusDeCadastro.Normal, SetorId = 1, Login = "******", Senha = "teste" }; _repositoryMock.Setup(r => r.Usuario.GetUsuarioByNomeAsync("Teste")); _repositoryMock.Setup(r => r.Usuario.GetUsuarioBySiglaAsync("FFF")).Returns(Task.FromResult(usuario)); var command = new CadastrarUsuarioCommand( usuario.Nome, usuario.Sigla, usuario.SetorId, usuario.Status, usuario.Login, usuario.Senha ); var result = await _usuarioHandler.Handler(command); Assert.AreEqual("Já existe um usuário com a mesma sigla cadastrada", ((CommandResult)result).Message); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenInitialsIsGreaterThan5() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFFFFD", 1, StatusDeCadastro.Normal, "luism", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Sigla não pode ser maior que 5 caracteres."); }
public void ShouldInvalidateUpdateUserWhenInitialsIsEmpty() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "", 1, StatusDeCadastro.Normal, "luism", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Sigla é obrigatório"); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenNameIsGreaterThan30() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("dhasghghghaghdgashdghgdhjghasgdjhagddhasghg", "teste", 1, StatusDeCadastro.Normal, "luism", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Nome não pode ser maior que 30 caracteres."); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenPasswordIsLessThan3() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFF", 1, StatusDeCadastro.Normal, "luism", "df"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Senha deve ter no mínimo 3 caracteres."); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenPasswordGreaterThan8() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFF", 1, StatusDeCadastro.Normal, "luism", "teste123456"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Senha não pode ser maior que 8 caracteres."); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenLoginIsGreaterThan20() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFF", 1, StatusDeCadastro.Normal, "ssluismsfsffsfsfdsfsdffd", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Login não pode ser maior que 20 caracteres."); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenIdDepartamentIsZero() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFF", 0, StatusDeCadastro.Normal, "", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Obrigatório informar um setor com id válido"); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenLoginIsEmpty() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "FFF", 1, StatusDeCadastro.Normal, "", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Login é obrigatório"); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenInitialsIsLessThan2() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("teste", "F", 1, StatusDeCadastro.Normal, "luism", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Sigla deve ter no mínimo 2 caracteres."); }
public void ShouldInvalidateCadastrarUsuarioCommandWhenNameIsLessThan3() { var cadastrarUsuarioCommand = new CadastrarUsuarioCommand("an", "tt", 1, StatusDeCadastro.Normal, "luism", "teste123"); cadastrarUsuarioCommand.Validate(); var result = cadastrarUsuarioCommand.Notifications.ToList(); Assert.AreEqual(result[0].Message, "Nome deve ter no mínimo 3 caracteres."); }
public async Task <IActionResult> CriarUsuarioAsync([FromBody] CadastrarUsuarioCommand command) { var result = await _commandUsuario.Handle(command).ConfigureAwait(true) as CommandResult; if (result.Success) { return(Ok()); } else { return(UnprocessableEntity(result.Messages)); } }
public async Task <ActionResult <Guid> > CadastrarUsuario([FromBody] CadastrarUsuarioCommand command) { try { Guid id = await _Mediator.Send(command); return(Ok(id)); } catch (Exception ex) { return(RetornarBadRequest(ex)); } }
public async Task ShouldInvalidateCadastrarUsuarioCommandValid() { var usuario = new Usuario { Id = 1, Nome = "Teste", Sigla = "FFF", Status = StatusDeCadastro.Normal, SetorId = 1, Login = "******", Senha = "teste" }; var setor = new Setor { Id = 1, Nome = "Teste" }; var command = new CadastrarUsuarioCommand( usuario.Nome, usuario.Sigla, usuario.SetorId, usuario.Status, usuario.Login, usuario.Senha ); _mapperMock.Setup(m => m.Map <Usuario>(command)).Returns(usuario); _cryptographyServiceMock.Setup(c => c.Encrypt(usuario.Senha)).Returns("senha"); _repositoryMock.Setup(r => r.Usuario.Create(usuario)); _repositoryMock.Setup(r => r.Setor.GetSetorByIdAsync(1)).Returns(Task.FromResult(setor)); _repositoryMock.Setup(r => r.SaveAsync()); var result = await _usuarioHandler.Handler(command); Assert.AreEqual("Usuário cadastrado com sucesso!", ((CommandResult)result).Message); }
public async ValueTask <ICommandResult> Handle(CadastrarUsuarioCommand command) { if (!command.Validate()) { AddNotifications(command); return(new CommandResult(false, base.Notifications)); } var entity = new Usuario(command.Nome, command.Login, command.Senha); if (entity.Login.IsValidCpf()) { var clienteResult = await _clienteRepository.GetClienteByCPF(entity.Login).ConfigureAwait(true); if (clienteResult == null) { var entityOperador = new Operador(command.Login, command.Nome, command.Senha); await _operadorRepository.Add(entityOperador); await _operadorRepository.SaveChanges().ConfigureAwait(true); } else { entity.VincularClienteAoUsuario(clienteResult.FirstOrDefault()); await _usuarioRepository.Add(entity); } } else { AddNotification("CPF", "CPF Invalido."); } var result = await _usuarioRepository.SaveChanges().ConfigureAwait(true); if (!result) { return(new CommandResult(false)); } return(new CommandResult(true)); }
public async Task <ActionResult> Insert([FromBody] CadastrarUsuarioCommand model) { return(ResponseBase(await _mediator.Send(model) ? "Usuario cadastrado com sucesso" : null)); }
public ICommandResult Cadastrar(CadastrarUsuarioCommand command, [FromServices] CadastrarUsuarioCommandHandler handler) { return((GenericCommandResult)handler.Handle(command)); }
public IActionResult Cadastrar([FromBody] CadastrarUsuarioCommand command) { _cadastrarUsuario.Execute(command); return(Ok()); }