{
  "id": "QA10A",
  "title": "Evento de insignia persistido y consultable",
  "layer": "API + PostgreSQL",
  "role": "student",
  "status": "PASS",
  "expected": "HTTP 200",
  "actual": "HTTP 200",
  "method": "GET",
  "path": "/api/v1/notifications/",
  "request": null,
  "response": {
    "count": 3,
    "next": null,
    "previous": null,
    "results": [
      {
        "id": "034be737-544f-4ab4-8278-c454e67ad6e9",
        "user_id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
        "title": "Evidencia Rechazada",
        "message": "Tu evidencia fue rechazada. Motivo: Prueba QA: referencia sintética; no se cargó fotografía real.",
        "notification_type": "AUDIT_REJECT",
        "notification_type_display": "Photo audit rejected",
        "is_read": false,
        "created_at": "2026-10-01T23:12:58.270769-06:00",
        "time_since_created": "0 minutes ago"
      },
      {
        "id": "0a6891ca-4ae5-468b-9b0b-dc64f2e0650b",
        "user_id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
        "title": "¡Misión completada!",
        "message": "Completaste la misión 'Participé en limpieza' (1/1) de la campaña 'Semana sustentable QA'.",
        "notification_type": "MISSION_COMPLETED",
        "notification_type_display": "Mission completed",
        "is_read": false,
        "created_at": "2026-10-01T23:12:57.245146-06:00",
        "time_since_created": "0 minutes ago"
      },
      {
        "id": "f5d8e12b-0bae-42e4-8e11-7317125102eb",
        "user_id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
        "title": "¡Nueva medalla desbloqueada!",
        "message": "Has obtenido el logro: Primer paso QA. ¡Sigue así!",
        "notification_type": "BADGE_EARNED",
        "notification_type_display": "Badge earned",
        "is_read": false,
        "created_at": "2026-10-01T23:12:45.633249-06:00",
        "time_since_created": "0 minutes ago"
      }
    ],
    "unread_count": 3
  },
  "before": {
    "profiles": [
      {
        "user__first_name": "Ana",
        "total_points": 10,
        "available_points": 10,
        "bio": "",
        "visibility": "PUBLIC"
      },
      {
        "user__first_name": "Laura",
        "total_points": 0,
        "available_points": 0,
        "bio": "",
        "visibility": "PUBLIC"
      },
      {
        "user__first_name": "Diego",
        "total_points": 0,
        "available_points": 0,
        "bio": "",
        "visibility": "PUBLIC"
      }
    ],
    "clans": [
      {
        "name": "Ingeniería QA",
        "total_points": 10,
        "deleted_at": null
      },
      {
        "name": "Ecoequipo QA",
        "total_points": 10,
        "deleted_at": null
      }
    ],
    "logs": [
      {
        "id": "74f38290-7805-443a-9110-aafef9d88232",
        "status": "APPROVED",
        "points_awarded": 10,
        "co2_kg_factor_snapshot": "1.250",
        "idempotency_key": "class-qa-bike-1"
      },
      {
        "id": "67970d97-5bb4-4804-9b93-8df76040ac4e",
        "status": "REJECTED",
        "points_awarded": 20,
        "co2_kg_factor_snapshot": "0.100",
        "idempotency_key": "class-qa-photo-1"
      }
    ],
    "missions": [
      {
        "mission__action__name": "Llegué en bicicleta",
        "current_count": 1,
        "is_completed": false
      },
      {
        "mission__action__name": "Participé en limpieza",
        "current_count": 0,
        "is_completed": false
      }
    ],
    "participants": 2,
    "badges": [
      {
        "user__first_name": "Ana",
        "badge__name": "Primer paso QA"
      }
    ],
    "notifications": [
      {
        "title": "Evidencia Rechazada",
        "notification_type": "AUDIT_REJECT",
        "is_read": false
      },
      {
        "title": "¡Misión completada!",
        "notification_type": "MISSION_COMPLETED",
        "is_read": false
      },
      {
        "title": "¡Nueva medalla desbloqueada!",
        "notification_type": "BADGE_EARNED",
        "is_read": false
      }
    ],
    "posts": 3
  },
  "after": {
    "profiles": [
      {
        "user__first_name": "Ana",
        "total_points": 10,
        "available_points": 10,
        "bio": "",
        "visibility": "PUBLIC"
      },
      {
        "user__first_name": "Laura",
        "total_points": 0,
        "available_points": 0,
        "bio": "",
        "visibility": "PUBLIC"
      },
      {
        "user__first_name": "Diego",
        "total_points": 0,
        "available_points": 0,
        "bio": "",
        "visibility": "PUBLIC"
      }
    ],
    "clans": [
      {
        "name": "Ingeniería QA",
        "total_points": 10,
        "deleted_at": null
      },
      {
        "name": "Ecoequipo QA",
        "total_points": 10,
        "deleted_at": null
      }
    ],
    "logs": [
      {
        "id": "74f38290-7805-443a-9110-aafef9d88232",
        "status": "APPROVED",
        "points_awarded": 10,
        "co2_kg_factor_snapshot": "1.250",
        "idempotency_key": "class-qa-bike-1"
      },
      {
        "id": "67970d97-5bb4-4804-9b93-8df76040ac4e",
        "status": "REJECTED",
        "points_awarded": 20,
        "co2_kg_factor_snapshot": "0.100",
        "idempotency_key": "class-qa-photo-1"
      }
    ],
    "missions": [
      {
        "mission__action__name": "Llegué en bicicleta",
        "current_count": 1,
        "is_completed": false
      },
      {
        "mission__action__name": "Participé en limpieza",
        "current_count": 0,
        "is_completed": false
      }
    ],
    "participants": 2,
    "badges": [
      {
        "user__first_name": "Ana",
        "badge__name": "Primer paso QA"
      }
    ],
    "notifications": [
      {
        "title": "Evidencia Rechazada",
        "notification_type": "AUDIT_REJECT",
        "is_read": false
      },
      {
        "title": "¡Misión completada!",
        "notification_type": "MISSION_COMPLETED",
        "is_read": false
      },
      {
        "title": "¡Nueva medalla desbloqueada!",
        "notification_type": "BADGE_EARNED",
        "is_read": false
      }
    ],
    "posts": 3
  },
  "executedAt": "2026-10-02T05:13:30.491Z",
  "evidence": "evidence/QA10A.json"
}