{
  "id": "CTR-003",
  "name": "Contract status change should be verified after activation",
  "description": "After Contract transitions from Draft to Activated, Status should become Activated and activation date should be populated.",
  "object": "Contract",
  "method": "PATCH",
  "endpoint": "/services/data/v63.0/sobjects/Contract/{contract_id}",
  "setup": [
    {
      "name": "Create seed Account for CTR-003",
      "type": "sql",
      "sql": "INSERT INTO Account (Id, Name, Type, Phone, BillingCountryCode, IsDeleted, CreatedDate, LastModifiedDate, SystemModstamp) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
      "params": [
        "0015g00000CTR003AA0",
        "CTR003 Account",
        "Customer - Direct",
        "5550103",
        "US",
        0,
        "{db_timestamp}",
        "{db_timestamp}",
        "{db_timestamp}"
      ],
      "id_var": "seed_Account_0",
      "id_value": "0015g00000CTR003AA0",
      "object": "Account"
    },
    {
      "name": "Seed Draft Contract for CTR-003 activation flow",
      "type": "sql",
      "sql": "INSERT INTO Contract (Id, AccountId, Name, Status, StatusCode, StartDate, ContractTerm, IsDeleted, CreatedDate, LastModifiedDate, SystemModstamp) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
      "params": [
        "800CTR003_CNT_0000",
        "0015g00000CTR003AA0",
        "CTR-003 Draft Contract",
        "Draft",
        "Draft",
        "2025-01-01",
        12,
        0,
        "{db_timestamp}",
        "{db_timestamp}",
        "{db_timestamp}"
      ],
      "id_var": "contract_id",
      "id_value": "800CTR003_CNT_0000",
      "object": "Contract"
    }
  ],
  "payload": {
    "StatusCode": "Activated",
    "Status": "Activated",
    "ActivatedDate": "{today}"
  },
  "expects": {
    "status_code": 204
  },
  "query_after": {
    "object": "Contract",
    "record_id": "{contract_id}",
    "assertions": [
      {
        "field": "Status",
        "operator": "eq",
        "value": "Activated"
      },
      {
        "field": "StatusCode",
        "operator": "eq",
        "value": "Activated"
      },
      {
        "field": "ActivatedDate",
        "operator": "is_not_null",
        "value": true
      }
    ]
  },
  "teardown": [
    {
      "type": "sql",
      "sql": "DELETE FROM Contract WHERE Id = %s",
      "params": [
        "800CTR003_CNT_0000"
      ]
    },
    {
      "type": "sql",
      "sql": "DELETE FROM Account WHERE Id = %s",
      "params": [
        "0015g00000CTR003AA0"
      ]
    }
  ],
  "priority": "P1",
  "scene": "contract",
  "skip": true,
  "skip_reason": "Current product does not reliably populate ActivatedDate after contract activation in CI/local; quarantine until the activation contract is restored"
}
