Skip to content

[Test Case] Testes Automatizados - Cobertura de código #33

@DevlTz

Description

@DevlTz

O projeto não possui nenhum teste automatizado. Esta issue implementa a suite de testes cobrindo autenticação, imóveis, reviews e favoritos.

Critérios de aceitação

Configuração

  • Confirmar coverage no requirements-dev.txt
  • Configurar pytest-django como runner de testes
  • Criar pytest.ini ou configuração em setup.cfg
  • Criar conftest.py com fixtures reutilizáveis (usuário, imóvel, token JWT)

Testes de autenticação (apps/users/tests/)

  • Registro de usuário com dados válidos
  • Registro com email duplicado retorna 400
  • Login com credenciais corretas retorna tokens
  • Login com credenciais erradas retorna 401
  • Logout blacklista o refresh token
  • Refresh token retorna novo access token

Testes de imóveis (apps/properties/tests/)

  • Listagem pública retorna 200 com paginação
  • Filtros funcionam corretamente
  • Criação por advertiser retorna 201
  • Criação por usuário comum retorna 403
  • Update apenas pelo dono retorna 200
  • Update por outro usuário retorna 403
  • Delete apenas pelo dono retorna 204

Testes de reviews (apps/properties/tests/)

  • Listagem pública retorna 200
  • Criação por usuário autenticado retorna 201
  • Edição apenas pelo autor retorna 200
  • Delete apenas pelo autor retorna 204

Testes de favoritos (apps/users/tests/)

  • GET retorna apenas favoritos do usuário autenticado
  • POST adiciona imóvel aos favoritos
  • DELETE remove imóvel dos favoritos
  • Usuário não autenticado retorna 401

Meta

  • Cobertura mínima de 80%
  • CI passa com coverage run -m pytest no GitHub Actions

Observações

  • Usar APIClient do DRF para simular requisições
  • Fixtures devem cobrir usuário advertiser e usuário comum separadamente
  • Banco de testes separado — configurar TEST no settings.py

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions