{
  "id": "CMP-006",
  "name": "Campaign create should asynchronously provision default CampaignMemberStatus rows",
  "description": "Creating a Campaign should trigger the metadata-driven default Sent and Responded CampaignMemberStatus rows. This covers the Campaign create path fixed for issue #1519 and uses query_after retry because the statuses are created through the outbox-backed after-save flow.",
  "object": "Campaign",
  "method": "POST",
  "endpoint": "/services/data/v63.0/sobjects/Campaign",
  "payload": {
    "Name": "Test Campaign CMP-006 {run_uuid}",
    "Type": "Email",
    "Status": "Active",
    "StartDate": "2026-04-15",
    "EndDate": "2026-04-30",
    "AmountAllOpportunities": 0,
    "AmountWonOpportunities": 0,
    "NumberOfContacts": 0,
    "NumberOfConvertedLeads": 0,
    "NumberOfLeads": 0,
    "NumberOfOpportunities": 0,
    "NumberOfWonOpportunities": 0
  },
  "expects": {
    "status_code": 201
  },
  "extract": {
    "campaign_id": "id"
  },
  "query_after": {
    "object": "CampaignMemberStatus",
    "id_field": "CampaignId",
    "record_id": "{campaign_id}",
    "retry": 12,
    "delay_ms": 1000,
    "select_fields": [
      "CampaignId",
      "Label",
      "SortOrder",
      "IsDefault",
      "HasResponded"
    ],
    "sort": [
      {
        "field": "SortOrder",
        "direction": "ASC"
      }
    ],
    "limit": 2,
    "response_assertions": [
      {
        "field": "totalSize",
        "operator": "eq",
        "value": 2
      },
      {
        "field": "records.0.CampaignId",
        "operator": "eq",
        "value": "{campaign_id}"
      },
      {
        "field": "records.0.Label",
        "operator": "eq",
        "value": "Sent"
      },
      {
        "field": "records.0.SortOrder",
        "operator": "eq",
        "value": 1
      },
      {
        "field": "records.0.IsDefault",
        "operator": "eq",
        "value": true
      },
      {
        "field": "records.0.HasResponded",
        "operator": "eq",
        "value": false
      },
      {
        "field": "records.1.CampaignId",
        "operator": "eq",
        "value": "{campaign_id}"
      },
      {
        "field": "records.1.Label",
        "operator": "eq",
        "value": "Responded"
      },
      {
        "field": "records.1.SortOrder",
        "operator": "eq",
        "value": 2
      },
      {
        "field": "records.1.IsDefault",
        "operator": "eq",
        "value": false
      },
      {
        "field": "records.1.HasResponded",
        "operator": "eq",
        "value": true
      }
    ]
  },
  "teardown": [
    {
      "method": "DELETE",
      "endpoint": "/services/data/v63.0/sobjects/Campaign/{campaign_id}"
    }
  ],
  "priority": "P1",
  "bug_ref": "#1519",
  "scene": "campaign"
}
