פרויקט פורטפוליו המדגים סוויטה מקיפה של בדיקות API אוטומטיות על שני APIs שונים: JSONPlaceholder (CRUD בסיסי) ו-DummyJSON (E-commerce מלא עם JWT auth). 65 אסרשנים על פני 16 endpoints, כולל ולידציית סכמה, שרשור בקשות, חיפוש, סינון וטסטים שליליים. בנוי עם Postman ו-Newman, מוכן לאינטגרציה ב-CI/CD.
שליפת רשימת כל הפוסטים במערכת
שליפת פוסט בודד לפי מזהה
יצירת פוסט חדש עם payload
עדכון מלא של פוסט קיים
עדכון חלקי של שדה בפוסט
מחיקת פוסט מהמערכת
שליפת פוסטים לפי משתמש (chained)
שליפת תגובות לפוסט מסוים
| בדיקה | Endpoint | Status | Time | Result |
|---|---|---|---|---|
| שליפת כל הפוסטים מחזירה מערך | GET /posts | 200 OK | 142ms | PASS |
| פוסט בודד תואם לסכמה | GET /posts/1 | 200 OK | 98ms | PASS |
| יצירת פוסט מחזירה 201 | POST /posts | 201 Created | 312ms | PASS |
| עדכון מלא משמר את ה-id | PUT /posts/1 | 200 OK | 204ms | PASS |
| עדכון חלקי - title בלבד | PATCH /posts/1 | 200 OK | 156ms | PASS |
| מחיקת פוסט מחזירה תגובה ריקה | DELETE /posts/1 | 200 OK | 128ms | PASS |
| פוסט לא קיים מחזיר 404 | GET /posts/9999 | 404 NotFound | 87ms | PASS |
| תגובות שייכות לפוסט הנכון | GET /posts/1/comments | 200 OK | 176ms | PASS |
שליפת מוצרים עם pagination
שליפת מוצר בודד עם schema validation
חיפוש מוצרים לפי מילת מפתח
סינון לפי קטגוריה
יצירת מוצר חדש
עדכון מלא של מוצר
מחיקת מוצר (soft delete)
אימות JWT והנפקת token
| בדיקה | Endpoint | Status | Time | Result |
|---|---|---|---|---|
| שליפת מוצרים עם pagination תקינה | GET /products | 200 OK | 156ms | PASS |
| מוצר בודד תואם לסכמה | GET /products/1 | 200 OK | 98ms | PASS |
| חיפוש מחזיר תוצאות רלוונטיות | GET /products/search | 200 OK | 142ms | PASS |
| סינון קטגוריה - כל הפריטים תואמים | GET /products/category | 200 OK | 128ms | PASS |
| יצירת מוצר חדש מחזירה 201 | POST /products/add | 201 Created | 287ms | PASS |
| עדכון מוצר משמר את ה-ID | PUT /products/1 | 200 OK | 198ms | PASS |
| מחיקה מחזירה isDeleted: true | DELETE /products/1 | 200 OK | 176ms | PASS |
| JWT login מחזיר accessToken תקני | POST /auth/login | 200 OK | 342ms | PASS |
בדיקה שכל endpoint מחזיר את ה-status code הצפוי - 200, 201, 204, 404 בהתאם לתרחיש.
שימוש ב-Ajv לאימות שמבנה התגובה תואם לסכמה המוגדרת מראש - שדות חובה, סוגי נתונים, פורמטים.
ניהול סביבות מרובות (dev, staging, prod) עם משתנים דינמיים שמועברים בין בקשות.
שמירת ערכים מתגובה אחת והעברתם לבקשה הבאה - לדוגמה, שליפת postId ושימוש בו לבקשת תגובות.
הרצת אותה בקשה עם מספר סטים של נתונים מקובץ CSV/JSON לכיסוי מקרי קצה.
הרצה אוטומטית של ה-collection דרך Newman ב-GitHub Actions עם דוח HTML לכל commit.