1.6 KiB
1.6 KiB
Live Parser Tests Design
Summary
Add explicit live endpoint tests for each core scraper parser path. These tests are excluded from normal deterministic test commands and run only through a dedicated package script.
Scope
- Add one live suite per parser: eBay, Kijiji, Facebook.
- Place suites under
packages/core/test/live/so normalbun test packages/core/test/*.test.tspatterns do not include them accidentally. - Add a root
test:livescript that runs all live suites together. - Keep existing mocked tests unchanged.
Behavior
- Each suite calls the public scraper entry point for that marketplace with a narrow query and low max item count.
- Assertions verify scrape output shape and parser viability, not exact listing identity.
- eBay and Kijiji require live network access and fail on endpoint/parser breakage.
- Facebook is strict: missing or expired
FACEBOOK_COOKIEfails the live suite instead of skipping.
Test Data
- Use stable broad Canadian queries such as
iphoneorlaptopto reduce empty-result risk. - Use low limits to avoid unnecessary load and rate-limit pressure.
- Avoid exact prices, titles, listing IDs, or ordering assumptions.
Failure Meaning
- Empty result arrays fail because live parser logic did not produce usable listings.
- Missing required fields fail because adapter contracts depend on those fields.
- Authentication failures fail for Facebook because selected scope is strict.
Verification
- Normal suite remains offline:
bun test packages/core/test. - Live suite runs by explicit script:
bun run test:live. - Full static checks remain via
bun run ci.