Desafio Técnico Codevance
Esse repo contém o meu teste técnico para a Codevance.
-
Tenha docker compose na sua máquina
-
Acesse o arquivo example.env e coloque o valores de acordo com o seu ambiente, você pode utilizar esse com base:
POSTGRES_NAME="postgres" POSTGRES_USER="postgres" POSTGRES_PASSWORD="postgres" CELERY_BROKER_URL="amqp://guest:guest@broker:5672//" EMAIL_HOST_USER = "" EMAIL_HOST_PASSWORD = "" DEFAULT_FROM_EMAIL= ""
-
Renomeie o arquivo example.env para .env
-
Execute o docker compose utilizando o seguinte comando
docker-compose up
-
Agora, você já pode acessar o projeto em http:/localhost:8000, porém vamos terminar a configuração
-
Todas as informações do banco de dados são excluídas no repositório, então você precisa criar manualmente os grupos e usuários do projeto.
-
Descubra qual é o container que está rodando o django utlizando o comando:
docker ps
-
Procure na lista o container que está com o final web e use o seguinte comando para abrir um temrinal interativo nele
docker exec -it id_do_container bash
-
Dentro do container web criado no compose, crie um super usuário utilizando esse comando e seguindo as instruções:
python3 manage.py createsuperuser
-
Acesse a página de administrador do sistema, vá em http://localhost:8000/admin e entre com a conta de super usuario que voce acabou de criar
-
Vá em Groups → Add, e crie um grupo com o nome “operadores” e outro com o nome “fornecedores”. Não precisa adicionar nenhuma permissão
-
Agora crie um usuário qualquer, adicione no grupo fornecedores e adicione um email
-
Depois, crie um usuário e o adicione ao grupo operadores
-
Depois, volte para a raiz do projeto em http://localhost:8000 , você receberá uma mensagem que diz que você não tem permissão, isso acontece porque estamos logados no usuário admin, Clique na opção SAIR
-
Efetue o login com o usuário do grupo fornecedor que você criou
-
Agora você verá essa página com todos os pagamentos
-
Quando você adiantar um pagamento, um email será enviado para o funcionário (por isso você deve colocar um email válido na criação do usuário)
- Para ter a utilização sendo operador, é só clicar em sair e entrar com a conta de um operador
- Você também têm uma lista com todos os pedidos de antecipação
O programa possui alguns testes, siga as instruções para executá-los
-
Descubra qual é o container que está rodando o django utilizando o comando:
docker ps
-
Procure na lista o container que está com o final web e use o seguinte comando para abrir um temrinal interativo nele
docker exec -it <id_do_container> bash
-
Dentro do container web criado no compose, execute os testes utilizando o comando:
python3 manage.py test
Note que para os testes funcionarem, você deve ter feito o a configuração inicial do projeto.