OBS.: O teste necessita de conexão com o banco de dados MySQL instalado localmente. No código está sendo considerado que o usuário do banco e a senha seja 'root' para ambos. Caso queira alterar, realize esta operação alterando o usuário na linha 5 e a senha na linha 6 no arquivo knexfile.js.
Junto ao projeto, encontra-se um arquivo queries.sql com todas as queries iniciais para cada tabela no banco de dados.
Após rodar os comandos SQL de criação das tabelas, deve-se criar um usuário "admin" apenas para que seja possível a geração de token, simulando assim, a operação de login, já que o mesmo é usado para validação em cada rota.
/v1/users
{
"name": "admin",
"password": "123456",
"email": "admin@email.com"
}
Deverá retornar está mensagem:
{
"success": true,
"message": "User created!"
}
Para gerar o token deve realizar post na rota /v1/token
passando o email no corpo da requisição:
{
"email": "admin@email.com"
}
Deve retornar isto:
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYWRtaW4iLCJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsImlkIjoxLCJpYXQiOjE1NjAyMTU1OTd9.QLtt3GKeJBaO7JTdYlmJ7I8EAEaco99o89ByWzdIgQ8"
}
Recomenda-se o uso do Postman para simular as requisições. Salve o token gerado como Bearer token na seção Authorization.
{
"success": false,
"message": "Error creating user.",
"error": {
"code": "ER_NOT_SUPPORTED_AUTH_MODE",
"errno": 1251,
"sqlMessage": "Client does not support authentication protocol requested by server; consider upgrading MySQL client",
"sqlState": "08004",
"fatal": true
}
}