{
  "id": "QA09A",
  "title": "Crear publicación propia en feed",
  "layer": "API + PostgreSQL",
  "role": "student",
  "status": "PASS",
  "expected": "HTTP 201",
  "actual": "HTTP 201",
  "method": "POST",
  "path": "/api/v1/feed/",
  "request": {
    "post_type": "SHARED_EVIDENCE",
    "content": "Prueba QA: reutilicé mi termo en el campus. Datos sintéticos."
  },
  "response": {
    "id": 3,
    "author": {
      "id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
      "first_name": "Ana",
      "last_name": "QA"
    },
    "author_id": "a9282d7c-96ed-49dd-ad56-4923c5b3d2e0",
    "post_type": "SHARED_EVIDENCE",
    "content": "Prueba QA: reutilicé mi termo en el campus. Datos sintéticos.",
    "image_url": "",
    "badge_info": null,
    "relative_time": "hace un momento",
    "created_at": "2026-10-01T23:13:22.221581-06:00",
    "updated_at": "2026-10-01T23:13:22.221615-06:00"
  },
  "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": 2
  },
  "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:21.609Z",
  "evidence": "evidence/QA09A.json"
}