Newer
Older
geekbrain_io_web / MANUAL_TESTING.md

Manual Testing Checklist

Before Testing

  • Ensure .env file is configured with real values (SMTP, reCAPTCHA, DB)
  • MariaDB is running and geekbrain_portfolio database exists
  • Run docker-compose up -d or uvicorn app.main:app --reload

  • Home page (/) loads and displays hero, services, skills, projects CTA
  • About page (/about) displays profile and skills grid
  • Projects page (/projects) shows list from GitBucket API
  • Contact page (/contact) displays form with reCAPTCHA
  • All navigation links work correctly (Accueil, À propos, Projets, Contact)
  • Logo links back to home page
  • Footer LinkedIn link opens in new tab

Responsive Design

  • Test at mobile width (< 768px) - navigation stacks, content readable
  • Test at tablet width (768-1024px) - grid adjusts
  • Test at desktop width (> 1024px) - full layout

Contact Form

  • All fields are required and show validation if empty on submit
  • Email field validates email format
  • reCAPTCHA appears and must be checked to submit
  • On successful submission:
    • Success alert appears
    • Form is reset
    • reCAPTCHA resets
  • Email is received at [email protected] (check inbox)
  • Submission is stored in database (check contacts table)

Projects Page

  • Projects display with name and description from GitBucket
  • If GitBucket API fails or returns empty, "indisponibles" message shows
  • Repo data is cached (refresh within 5min doesn't call API again)

Steampunk Design

  • Colors: Laid gold (#D4AF37) accents, dark background (#1a1a1a)
  • Logo displays in header
  • Cards have gold borders
  • Typography: Serif headers, clean body text

Performance

  • Pages load quickly (< 2 seconds)
  • No console errors in browser dev tools
  • reCAPTCHA loads without issues

Docker (if deploying)

  • Container builds without errors: docker-compose build
  • Container starts: docker-compose up -d
  • Health endpoint returns 200: curl http://localhost:8000/health
  • Logs show no errors: docker-compose logs -f web
  • Static files are served correctly (CSS, JS, images)

Security

  • reCAPTCHA prevents basic bot submissions (test with empty token)
  • No sensitive data exposed in error messages
  • .env file is not committed (check git status)

Sign-off

Tester: __ Date: __ Status: ☐ All passed ☐ Issues found (see notes)

Notes: