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.9 KB · 40 lines typescript
Raw Blame History
1import { describe, expect, it } from 'vitest';2import { ConnectorMetaSchema } from '@rareindex/connectors';3import metaJson from './meta.json' with { type: 'json' };4import { loadFixture, runFixtureSuite } from '@rareindex/connectors/testing';5import createConnector, { parseCoinTitle } from './index.js';67const connector = createConnector(ConnectorMetaSchema.parse(metaJson));89describe('apmex', () => {10  runFixtureSuite(connector, it, expect);1112  it('emits coin catalog items + USD dealer asks with parsed grades', async () => {13    const fx = loadFixture('apmex', 'liberty-eagle-category-p1');14    const out = await connector.normalize(fx.raw);15    const cats = out.filter((r) => r.kind === 'catalog_item');16    const lst = out.filter((r) => r.kind === 'listing');17    expect(cats.length).toBeGreaterThan(0);18    expect(lst.length).toBeGreaterThan(0);19    for (const c of cats) {20      if (c.kind !== 'catalog_item') continue;21      expect(c.attributes.categorySlug).toBe('coins');22      expect(c.attributes.series).toBe('$10 Liberty Gold Eagle');23      expect(c.attributes.identifiers.apmex_sku).toMatch(/^\d+$/);24    }25    for (const l of lst) {26      if (l.kind !== 'listing') continue;27      expect(l.currency).toBe('USD');28      expect(l.price).toBeGreaterThan(100);29      expect(l.seller).toBe('APMEX');30    }31  });3233  it('parses coin titles', () => {34    expect(parseCoinTitle('1887-S $10 Liberty Gold Eagle MS-63 NGC')).toMatchObject({ year: 1887, mintMark: 'S', grader: 'ngc', grade: 'MS63' });35    expect(parseCoinTitle('1900 $10 Liberty Gold Eagle MS-64+ PCGS CAC')).toMatchObject({ year: 1900, mintMark: null, grader: 'pcgs', grade: 'MS64+', designation: 'CAC' });36    expect(parseCoinTitle('$10 Liberty Gold Eagle XF (Random Year)')).toMatchObject({ year: null, grader: null, random: true });37    expect(parseCoinTitle('$10 Liberty Gold Eagle (Cleaned)').cleaned).toBe(true);38  });39});40