import { resolveReputationRank } from './reputation-rank'; describe('resolveReputationRank', () => { it('resolves 0 reputation to Stranger with a next threshold of 100', () => { expect(resolveReputationRank(0)).toEqual({ key: 'STRANGER', label: 'Stranger', threshold: 0, nextThreshold: 100, }); }); it('resolves exactly at a threshold to that rank, not the one below', () => { expect(resolveReputationRank(100).key).toBe('TOLERATED'); expect(resolveReputationRank(99).key).toBe('STRANGER'); }); it('resolves every documented threshold to its exact rank', () => { expect(resolveReputationRank(250).key).toBe('KNOWN'); expect(resolveReputationRank(500).key).toBe('RECOGNIZED'); expect(resolveReputationRank(800).key).toBe('TRUSTED'); expect(resolveReputationRank(1200).key).toBe('ESTEEMED'); }); it('has no next threshold once at the top rank', () => { expect(resolveReputationRank(1200).nextThreshold).toBeNull(); expect(resolveReputationRank(50_000).nextThreshold).toBeNull(); }); it('reports the correct nextThreshold mid-range', () => { expect(resolveReputationRank(300).nextThreshold).toBe(500); }); });