SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
1.5 KB · 32 lines typescript
Raw Blame History
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