Beispiel #1
0
        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");
        }
Beispiel #2
0
        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.");
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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");
        }
Beispiel #5
0
        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.");
        }
Beispiel #6
0
        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.");
        }
Beispiel #7
0
        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.");
        }
Beispiel #8
0
        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.");
        }
Beispiel #9
0
        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.");
        }
Beispiel #10
0
        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 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));
        }