You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.3 KiB
37 lines
1.3 KiB
import { describe, expect, it } from 'vitest' |
|
import { extractKind0PaymentMethodsFromProfileJson } from './payto-kind0-import' |
|
|
|
describe('extractKind0PaymentMethodsFromProfileJson', () => { |
|
it('imports Garnet cryptocurrency_addresses.monero', () => { |
|
const addr = '4AdUndXHHZ6cfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgvYatVKtQNjUoNcknXV85jSp3wjUGpHbWfnqPm4WjwFGtW' |
|
const methods = extractKind0PaymentMethodsFromProfileJson({ |
|
cryptocurrency_addresses: { monero: addr } |
|
}) |
|
expect(methods).toHaveLength(1) |
|
expect(methods[0].type).toBe('monero') |
|
expect(methods[0].authority).toBe(addr) |
|
expect(methods[0].payto).toBe(`payto://monero/${addr}`) |
|
}) |
|
|
|
it('maps xmr alias to monero', () => { |
|
const methods = extractKind0PaymentMethodsFromProfileJson({ |
|
cryptocurrency_addresses: { xmr: '4abc' } |
|
}) |
|
expect(methods[0]?.type).toBe('monero') |
|
}) |
|
|
|
it('reads bare root monero key', () => { |
|
const methods = extractKind0PaymentMethodsFromProfileJson({ |
|
monero: '4root' |
|
}) |
|
expect(methods[0]?.authority).toBe('4root') |
|
}) |
|
|
|
it('dedupes cryptocurrency_addresses and root field', () => { |
|
const methods = extractKind0PaymentMethodsFromProfileJson({ |
|
monero: '4same', |
|
cryptocurrency_addresses: { monero: '4same' } |
|
}) |
|
expect(methods).toHaveLength(1) |
|
}) |
|
})
|
|
|