
- name: all_gift_links
  description: Per-link visits/views/last_seen grouped by gift_link (all-time)
  parameters: site_uuid=mock_site_uuid
  expected_result: |
    {"gift_link":"gift_aaa","visits":2,"views":3,"last_seen":"2100-01-06 01:28:38"}
    {"gift_link":"gift_bbb","visits":1,"views":1,"last_seen":"2100-01-07 03:15:00"}

- name: gift_links_for_post
  description: Per-link usage scoped to a single post - gift_bbb lives on a different post and is excluded
  parameters: site_uuid=mock_site_uuid&post_uuid=6b8635fb-292f-4422-9fe4-d76cfab2ba31
  expected_result: |
    {"gift_link":"gift_aaa","visits":2,"views":3,"last_seen":"2100-01-06 01:28:38"}

- name: gift_links_for_other_post
  description: Per-link usage scoped to the other post returns only that post's link
  parameters: site_uuid=mock_site_uuid&post_uuid=06b1b0c9-fb53-4a15-a060-3db3fde7b1dd
  expected_result: |
    {"gift_link":"gift_bbb","visits":1,"views":1,"last_seen":"2100-01-07 03:15:00"}

- name: gift_link_by_token
  description: Exact-match filter on a single gift-link token (the admin card use-case)
  parameters: site_uuid=mock_site_uuid&gift_link=gift_aaa
  expected_result: |
    {"gift_link":"gift_aaa","visits":2,"views":3,"last_seen":"2100-01-06 01:28:38"}

- name: gift_link_by_token_no_match
  description: Exact-match filter for a token with no reads returns no rows
  parameters: site_uuid=mock_site_uuid&gift_link=gift_zzz
  expected_result: ''
