diff --git a/MANUAL_TESTING.md b/MANUAL_TESTING.md new file mode 100644 index 0000000..06cdd82 --- /dev/null +++ b/MANUAL_TESTING.md @@ -0,0 +1,75 @@ +# 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` + +--- + +## Site Navigation +- [ ] 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 + +## Navigation Links +- [ ] 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 rcairbum@gmail.com (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: +``` +```