import { describe, expect, it } from 'vitest'; import { ConnectorMetaSchema } from '@rareindex/connectors'; import { listFixtures, loadFixture, runFixtureSuite } from '@rareindex/connectors/testing'; import metaJson from './meta.json' with { type: 'json' }; import createConnector, { parseCategoryPage, parseItemPage, wineFacts } from './index.js'; const connector = createConnector(ConnectorMetaSchema.parse(metaJson)); describe('winebid', () => { runFixtureSuite(connector, it, expect); it('emits per-bottle USD sales (premium excluded) dated by the recent-sales table', async () => { const name = listFixtures('winebid')[0]!; const out = await connector.normalize(loadFixture('winebid', name).raw); const sales = out.filter((r) => r.kind === 'sale'); expect(sales.length).toBeGreaterThan(0); for (const r of sales) { if (r.kind !== 'sale') continue; expect(r.currency).toBe('USD'); expect(r.buyerPremiumIncluded).toBe(false); expect(r.attributes.metadata.buyer_premium_pct).toBe(17); expect(r.saleDate.getFullYear()).toBeGreaterThanOrEqual(2015); expect(r.sourceUrl).toMatch(/^https:\/\/www\.winebid\.com\/BuyWine\/Item\/\d+/); } }); it('parses item pages, category links and titles', () => { const html = `
Light capsule condition issue
| Item | Sold | Amount | Date |
|---|---|---|---|
| I10856401 | 2 | $520 | Aug 23, 2026 |