{
  "id": "TSK-005",
  "name": "Create Task linked to Opportunity is queryable by WhatId",
  "description": "Regression for #2034. Creating a Task with an Opportunity WhatId should persist the relationship and ActivityDate, then be queryable through the WhatId filter used by activity timelines.",
  "object": "Task",
  "method": "POST",
  "endpoint": "/services/data/v63.0/sobjects/Task",
  "setup": [
    {
      "type": "sql",
      "name": "Clean fixed Task rows for TSK-005",
      "sql": "DELETE FROM Task WHERE WhatId = %s",
      "params": [
        "tsk005-opp-01"
      ]
    },
    {
      "type": "sql",
      "name": "Clean fixed Opportunity for TSK-005",
      "sql": "DELETE FROM Opportunity WHERE Id = %s",
      "params": [
        "tsk005-opp-01"
      ]
    },
    {
      "type": "sql",
      "name": "Create fixed Opportunity for TSK-005",
      "sql": "INSERT INTO Opportunity (Id, Name, StageName, CloseDate, IsDeleted, CreatedDate, LastModifiedDate, SystemModstamp) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
      "params": [
        "tsk005-opp-01",
        "TSK-005 Activity Visibility Opp",
        "Prospecting",
        "2026-12-31",
        0,
        "{db_timestamp}",
        "{db_timestamp}",
        "{db_timestamp}"
      ]
    }
  ],
  "payload": {
    "Subject": "Initial Engagement",
    "Status": "Completed",
    "Priority": "Normal",
    "ActivityDate": "2026-04-29",
    "WhatId": "tsk005-opp-01"
  },
  "expects": {
    "status_code": 201
  },
  "query_after": {
    "object": "Task",
    "id_field": "WhatId",
    "record_id": "tsk005-opp-01",
    "select_fields": [
      "Subject",
      "Status",
      "Priority",
      "ActivityDate"
    ],
    "assertions": [
      {
        "field": "Subject",
        "operator": "eq",
        "value": "Initial Engagement"
      },
      {
        "field": "Status",
        "operator": "eq",
        "value": "Completed"
      },
      {
        "field": "Priority",
        "operator": "eq",
        "value": "Normal"
      },
      {
        "field": "ActivityDate",
        "operator": "eq",
        "value": "2026-04-29"
      },
      {
        "field": "WhatId",
        "operator": "eq",
        "value": "tsk005-opp-01"
      }
    ]
  },
  "teardown": [
    {
      "method": "DELETE",
      "endpoint": "/services/data/v63.0/sobjects/Task/{id}"
    },
    {
      "type": "sql",
      "sql": "DELETE FROM Task WHERE WhatId = %s",
      "params": [
        "tsk005-opp-01"
      ]
    },
    {
      "type": "sql",
      "sql": "DELETE FROM Opportunity WHERE Id = %s",
      "params": [
        "tsk005-opp-01"
      ]
    }
  ],
  "priority": "P0",
  "bug_ref": "#2034",
  "scene": "task"
}
