{
  "id": "PRD-003",
  "name": "Query PricebookEntries for a Product",
  "description": "Querying PricebookEntries through the SOQL query endpoint should return the temporary entry created for the product.",
  "object": "PricebookEntry",
  "method": "GET",
  "endpoint": "/services/data/v63.0/query/?q=SELECT+Id,Product2Id,Pricebook2Id,UnitPrice,IsActive+FROM+PricebookEntry+WHERE+Product2Id='{product_id}'+ORDER+BY+CreatedDate+DESC+LIMIT+5",
  "expects": {
    "status_code": 200
  },
  "response_assertions": [
    {
      "field": "totalSize",
      "operator": "gt",
      "value": 0
    },
    {
      "field": "records.0.Id",
      "operator": "eq",
      "value": "{pricebook_entry_id}"
    },
    {
      "field": "records.0.Product2Id",
      "operator": "eq",
      "value": "{product_id}"
    },
    {
      "field": "records.0.UnitPrice",
      "operator": "equals",
      "value": 1234.56
    }
  ],
  "setup": [
    {
      "object": "Product2",
      "method": "POST",
      "endpoint": "/services/data/v63.0/sobjects/Product2",
      "payload": {
        "Name": "PRD-003 Product {run_uuid}",
        "ProductCode": "PRD-003-{run_uuid}",
        "Description": "Temporary product for PRD-003",
        "Family": "TiDB Cloud",
        "IsActive": true
      },
      "id_var": "product_id"
    },
    {
      "object": "Pricebook2",
      "method": "POST",
      "endpoint": "/services/data/v63.0/sobjects/Pricebook2",
      "payload": {
        "Name": "PRD-003 Pricebook {run_uuid}",
        "IsActive": true,
        "IsArchived": false,
        "IsStandard": false
      },
      "id_var": "pricebook2_id"
    },
    {
      "object": "PricebookEntry",
      "method": "POST",
      "endpoint": "/services/data/v63.0/sobjects/PricebookEntry",
      "payload": {
        "Product2Id": "{product_id}",
        "Pricebook2Id": "{pricebook2_id}",
        "UnitPrice": 1234.56,
        "IsActive": true,
        "UseStandardPrice": false
      },
      "id_var": "pricebook_entry_id"
    }
  ],
  "teardown": [
    {
      "method": "DELETE",
      "endpoint": "/services/data/v63.0/sobjects/PricebookEntry/{pricebook_entry_id}"
    },
    {
      "method": "DELETE",
      "endpoint": "/services/data/v63.0/sobjects/Pricebook2/{pricebook2_id}"
    },
    {
      "method": "DELETE",
      "endpoint": "/services/data/v63.0/sobjects/Product2/{product_id}"
    }
  ],
  "priority": "P2",
  "scene": "product"
}
