TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1import { describe, expect, it } from 'vitest';2import { ConnectorMetaSchema } from '@rareindex/connectors';3import { listFixtures, loadFixture, runFixtureSuite } from '@rareindex/connectors/testing';4import metaJson from './meta.json' with { type: 'json' };5import createConnector, { categoryForLot } from './index.js';67const connector = createConnector(ConnectorMetaSchema.parse(metaJson));89describe('phillips-art', () => {10 runFixtureSuite(connector, it, expect);1112 it('emits premium-inclusive sales with artist as brand', async () => {13 const name = listFixtures('phillips-art')[0]!;14 const out = await connector.normalize(loadFixture('phillips-art', name).raw);15 const sales = out.filter((r) => r.kind === 'sale');16 expect(sales.length).toBeGreaterThan(5);17 for (const r of sales) {18 if (r.kind !== 'sale') continue;19 expect(r.buyerPremiumIncluded).toBe(true);20 expect(r.auctionHouse).toBe('Phillips');21 expect(r.attributes.brand).toBeTruthy();22 expect(['art', 'contemporary_art', 'photography', 'design_furniture', 'jewelry', 'luxury_handbags', 'other_watches']).toContain(r.attributes.categorySlug);23 }24 });2526 it('refines lot categories', () => {27 expect(categoryForLot('contemporary_art', 'Gelatin silver print, 1975')).toBe('photography');28 expect(categoryForLot('design_furniture', 'Pair of "Lounge" chairs')).toBe('design_furniture');29 expect(categoryForLot('contemporary_art', 'Untitled, screenprint')).toBe('contemporary_art');30 });31});32