{
  "id": "QA11A",
  "title": "Perfil editable por propietario",
  "layer": "API + PostgreSQL",
  "role": "student",
  "status": "PASS",
  "expected": "HTTP 200",
  "actual": "HTTP 200",
  "method": "PATCH",
  "path": "/api/v1/profile/me/",
  "request": {
    "bio": "Estudiante sintética para QA local",
    "visibility": "PRIVATE"
  },
  "response": {
    "user_id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
    "email": "student@qa.example.test",
    "first_name": "Ana",
    "last_name": "QA",
    "role": "STUDENT",
    "visibility": "PRIVATE",
    "bio": "Estudiante sintética para QA local",
    "preferences": {},
    "avatar_url": "",
    "total_points": 10,
    "available_points": 10,
    "current_streak": 0,
    "level": null,
    "badges": [],
    "impact_metrics": {
      "co2_kg": "1.250",
      "water_liters": "0.000",
      "plastic_kg": "0.000"
    },
    "finished_campaigns": [],
    "institutional_clan": {
      "id": "9f0f7340-f5fa-4d58-9a9b-e6180dbead29",
      "name": "Ingeniería QA"
    },
    "active_private_clan": {
      "id": "5f4e25d1-1223-4982-be36-7f9739ddebea",
      "name": "Ecoequipo QA"
    }
  },
  "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": "Estudiante sintética para QA local",
        "visibility": "PRIVATE"
      },
      {
        "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:38.263Z",
  "evidence": "evidence/QA11A.json"
}