Skip to content

fix: fixture dynamic fulfillment option ids - #93

Merged
carolinerg1 merged 1 commit into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/dynamic-fulfillment-options
Aug 17, 2026
Merged

fix: fixture dynamic fulfillment option ids#93
carolinerg1 merged 1 commit into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/dynamic-fulfillment-options

Conversation

@FanouZeng-TT

Copy link
Copy Markdown
Contributor

Description

test_dynamic_fulfillment expected the option IDs exp-ship-us and exp-ship-intl. Those IDs belong to the reference sample, not the fulfillment contract, so a merchant that generated destination-specific options under different IDs failed conformance.

Merged conformance #79 removed the same class of sample literals from the neighboring fulfillment tests and explicitly left this test for a follow-up because it needed a second-destination fixture.

Fix: move both destination/expected-option pairs into the optional dynamic_fulfillment fixture. The test now skips when the merchant declares no dynamic-fulfillment behavior, and otherwise checks the exact domestic and international cases supplied by that merchant. The flower-shop fixture preserves full reference-server coverage.

Category (Required)

  • Core Protocol: Changes to core protocol specifications. (Requires Technical Council approval)
  • Governance/Contributing: Changes to governance or contributing processes. (Requires Governance Council approval)
  • Capability: New or updated capabilities. (Requires Maintainer approval)
  • Documentation: Documentation-only changes. (Requires Maintainer approval)
  • Infrastructure: Build, CI, or deployment changes. (Requires DevOps Maintainer approval)
  • Maintenance: Dependencies and repository maintenance. (Requires DevOps Maintainer approval)
  • SDK: Language-specific SDK updates and releases. (Requires DevOps Maintainer approval)
  • Samples / Conformance: Maintaining samples and the conformance suite. (Requires Maintainer approval)
  • UCP Schema: Changes to the ucp-schema tool. (Requires Maintainer approval)
  • Community Health (.github): Organization-wide community files. (Requires DevOps Maintainer approval)

Related Issues

Follow-up to #79.

Checklist

  • I have followed the Contributing Guide and Code of Conduct.
  • I have updated the documentation (if applicable).
  • My changes pass all local linting and formatting checks.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • (For Core/Capability) I have included/updated the relevant JSON schemas.
  • I have regenerated Python Pydantic models by running generate_models.sh under python_sdk (not applicable).

Screenshots / Logs (if applicable)

N/A — the 10-test fulfillment module passes against the reference Python server; a custom fixture with merchant-specific IDs and the missing-fixture skip path were verified separately. Ruff, all pre-commit hooks, JSON validation, and git diff --check pass. The broader suite reaches the existing webhook response-model failures tracked by #88, outside these four files.

@damaz91 damaz91 added status:needs-triage Signal that the PR is ready for human triage status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Aug 16, 2026
@carolinerg1
carolinerg1 merged commit ba7d8ab into Universal-Commerce-Protocol:main Aug 17, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants