Consistent brace style, spacing, and method expansion throughout
domain, infrastructure, and test files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ArticleTypePlatformConfig: fulfillmentPolicyId, paymentPolicyId,
returnPolicyId, merchantLocationKey (all nullable)
- EbayAccountApiClient: fetches Fulfillment/Payment/Return policies
from eBay Account API (/sell/account/v1)
- EbayInventoryApiClient: adds getLocations()
- EbayPolicyProvider: aggregates choices with 5 min cache; returns
empty array on API failure so the form degrades to TextField
- EbayAdapter: reads real ArticleTypePlatformConfig (category ID no
longer hardcoded), passes listingPolicies + merchantLocationKey
into createOffer() when set
- EbayArticleTypePlatformConfigCrudController: live policy dropdowns
from EbayPolicyProvider; fallback to TextField with help text
- DashboardController: eBay subMenu with Kategorie-Konfigurationen
- 7 new unit tests for EbayAdapter policy scenarios
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add sandbox credentials to .env.test and .env.local (sandbox URLs).
Pass EBAY_* vars through bin/test-integration.
EbayTaxonomyIntegrationTest: 6 tests against sandbox Taxonomy API using
app token (client_credentials) — verifies OAuth, aspects for notebooks
(cat 177) and RAM (cat 170083), required flags, value lists, caching.
EbayAdapterIntegrationTest: listing publish/update/deactivate tests skip
gracefully when EBAY_USER_TOKEN not set (Inventory API requires
Authorization Code user token). Noop-deactivate test always runs.
All 6 taxonomy tests pass against live sandbox.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>