Skip to content

felipe-era/PW-API-Test-Architecture

Repository files navigation

Testes de API – Playwright + JavaScript (API Tests)

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.


🧪 Tecnologias

  • Playwright
  • JavaScript (Node.js)
  • Testes de API (REST)
  • Arquitetura baseada em services, factories e fixtures

📁 Estrutura do Projeto

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ários de Teste (BDD)

🔐 Autenticação – Login

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


📝 Autenticação – Registro

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


🔗 Links – Delete

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


🔗 Links – Get

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


🔗 Links – Post

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

About

Projeto estruturado de testes de API utilizando Playwright e JavaScript, com foco em arquitetura limpa, escalabilidade e boas práticas de QA.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors