Projeto de automação de testes de API utilizando Playwright com JavaScript, focado em organização, reutilização de código e clareza na separação de responsabilidades.
A estrutura foi pensada para facilitar manutenção, escalabilidade e entendimento rápido do projeto, seguindo boas práticas de QA.
- Playwright
- JavaScript (Node.js)
- Testes de API (REST)
- Arquitetura baseada em services, factories e fixtures
SHORTBEYOND
├─ docs/ # Documentação do projeto
├─ playwright/ # Raiz da automação com Playwright
│ ├─ e2e/ # Camada de testes (cenários)
│ │ ├─ auth/ # Cenários de autenticação
│ │ │ ├─ login.spec.js # Testes do endpoint de login
│ │ │ └─ register.spec.js # Testes do endpoint de registro
│ │ ├─ links/ # Cenários relacionados a links
│ │ │ ├─ get.spec.js # Testes de consulta/listagem (GET)
│ │ │ ├─ post.spec.js # Testes de criação (POST)
│ │ │ └─ delete.spec.js # Testes de remoção (DELETE)
│ │ └─ health.spec.js # Teste de health check da API
│ └─ support/ # Camada de suporte e reutilização
│ ├─ factories/ # Fábricas de dados de teste
│ │ └─ user.js # Geração de usuários e payloads
│ ├─ fixtures/ # Fixtures globais
│ │ └─ index.js # Configuração das fixtures
│ └─ services/ # Abstração das chamadas de API
│ ├─ auth.js # Serviços de autenticação
│ ├─ links.js # Serviços de links
│ └─ utils.js # Funções utilitárias
Cenário: Autenticar usuário com sucesso
Dado que exista um usuário cadastrado
E que o email e a senha estejam corretos
Quando realizar a autenticação
Então o sistema deve retornar status 200
E um token de autenticação válido
Cenário: Não autenticar com senha incorreta
Dado que exista um usuário cadastrado
Quando autenticar com senha incorreta
Então o sistema deve retornar erro de autenticação
Cenário: Não autenticar com email não cadastrado
Quando autenticar com um email não cadastrado
Então o sistema deve retornar erro de usuário não encontrado
Cenário: Não autenticar sem informar email
Quando autenticar sem informar o email
Então o sistema deve retornar erro de validação
Cenário: Não autenticar sem informar senha
Quando autenticar sem informar a senha
Então o sistema deve retornar erro de validação
Cenário: Registrar um novo usuário com sucesso
Dado que o email não esteja cadastrado
Quando realizar o cadastro com dados válidos
Então o usuário deve ser criado com sucesso
Cenário: Não cadastrar email já existente
Dado que exista um usuário com o email informado
Quando tentar realizar o cadastro
Então o sistema deve retornar erro de email já cadastrado
Cenário: Não cadastrar email não formatado
Quando cadastrar um usuário com email inválido
Então o sistema deve retornar erro de validação
Cenário: Não cadastrar com nome vazio
Quando cadastrar um usuário sem informar o nome
Então o sistema deve retornar erro de validação
Cenário: Não cadastrar com email vazio
Quando cadastrar um usuário sem informar o email
Então o sistema deve retornar erro de validação
Cenário: Não cadastrar com senha vazia
Quando cadastrar um usuário sem informar a senha
Então o sistema deve retornar erro de validação
Cenário: Deletar um link existente
Dado que exista um link cadastrado
E que o usuário esteja autenticado
Quando solicitar a exclusão do link
Então o link deve ser removido com sucesso
Cenário: Não deletar um link inexistente
Dado que o link não exista
Quando tentar deletar o link
Então o sistema deve retornar erro de recurso não encontrado
Cenário: Retornar lista de links pré-encurtados
Dado que o usuário esteja autenticado
Quando solicitar a listagem de links
Então o sistema deve retornar uma lista de links
Cenário: Não retornar links sem token
Quando solicitar a listagem de links sem token de autenticação
Então o sistema deve retornar erro de autorização
Cenário: Encurtar um link com sucesso
Dado que a URL seja válida
E que o título esteja preenchido
Quando solicitar o encurtamento do link
Então o link deve ser criado com sucesso
Cenário: Não encurtar link sem informar a URL
Quando tentar encurtar um link sem URL
Então o sistema deve retornar erro de validação
Cenário: Não encurtar link sem informar o título
Quando tentar encurtar um link sem título
Então o sistema deve retornar erro de validação
Cenário: Não encurtar link com URL inválida
Quando tentar encurtar um link com URL inválida
Então o sistema deve retornar erro de validação