SPB Git forge

spb/cancerindex

Public
37commits 1branches 0releases
2.9 MBsize
maindefault branch
10 days agolast push
TypeScript 97.2% SQL 1.5% CSS 0.6% JavaScript 0.5%
1.0 KB · 23 lines typescript
Raw Blame History
1import { describe, expect, it } from 'vitest';2import { classifyRef } from '../src/lib/resolve.js';34describe('classifyRef', () => {5  it('recognises CancerIndex public ids per namespace', () => {6    expect(classifyRef('CI-CAN-00000042', 'CAN')).toBe('id');7    expect(classifyRef('CI-GENE-00000001', 'GENE')).toBe('id');8    // an id from another namespace is not accepted as this entity's id9    expect(classifyRef('CI-GENE-00000001', 'CAN')).toBe('slug');10  });11  it('never treats bare integers as entity ids', () => {12    expect(classifyRef('42', 'CAN')).toBe('slug');13    expect(classifyRef('42', 'PUB')).toBe('pmid'); // PMIDs are the only numeric public references14  });15  it('classifies slugs, symbols and registry ids', () => {16    expect(classifyRef('lung-adenocarcinoma', 'CAN')).toBe('slug');17    expect(classifyRef('BRAF', 'GENE')).toBe('symbol');18    expect(classifyRef('NCT01234567', 'TRIAL')).toBe('nct');19    expect(classifyRef('nct01234567', 'TRIAL')).toBe('nct');20    expect(classifyRef('NCT123', 'TRIAL')).toBe('slug');21  });22});23