{
  "id": "QA09B",
  "title": "Otro usuario no edita publicación ajena",
  "layer": "API + PostgreSQL",
  "role": "outsider",
  "status": "PASS",
  "expected": "HTTP 403",
  "actual": "HTTP 403",
  "method": "PATCH",
  "path": "/api/v1/feed/3/",
  "request": {
    "content": "Intento no autorizado QA"
  },
  "response": {
    "detail": "You do not have permission to perform this action."
  },
  "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:22.685Z",
  "evidence": "evidence/QA09B.json"
}