import { describe, it, expect } from 'vitest' import { formatMinor, isStepUpRequired } from './ledger' import { ApiRequestError } from './client' describe('D3 ledger client', () => { it('formats integer minor units as SAR major units', () => { expect(formatMinor(2550)).toBe('25.50 SAR') expect(formatMinor(1)).toBe('0.01 SAR') expect(formatMinor(100000)).toBe('1,000.00 SAR') }) it('detects the 422 step_up_required challenge', () => { const e = new ApiRequestError({ status: 422, message: 'step_up_required' }) expect(isStepUpRequired(e)).toBe(true) expect(isStepUpRequired(new ApiRequestError({ status: 422, message: 'insufficient_funds' }))).toBe(false) expect(isStepUpRequired(new Error('nope'))).toBe(false) }) })