File size: 758 Bytes
c7af659
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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)
  })
})