@sphereon/did-auth-siop
Version:
Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)
52 lines (46 loc) • 1.9 kB
text/typescript
import { encodeJsonAsURI } from '../..'
describe('Encodings', () => {
/*test('encodeAsUriValue', () => {
expect(encodeAsUriValue(undefined, { a: { b: { c: 'd', e: 'f' } } })).toBe('a%5Bb%5D%5Bc%5D=d&a%5Bb%5D%5Be%5D=f');
expect(encodeAsUriValue(undefined, { a: ['b', 'c', 'd'] })).toBe('a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d');
expect(
encodeAsUriValue(undefined, {
a: {
b: {
'a$s939very-2eweird-==key': {
c: 'd',
},
},
},
})
).toBe('a%5Bb%5D%5Ba%24s939very-2eweird-%3D%3Dkey%5D%5Bc%5D=d');
});*/
test('encodeJsonAsURI', () => {
const encoded = encodeJsonAsURI(
{
presentation_submission: {
id: 'bbYJTQe7YPvVx-3rLl4Aq',
definition_id: '000fc41b-2859-4fc3-b797-510492a9479a',
descriptor_map: [
{
id: 'OpenBadgeCredential',
format: 'jwt_vp',
path: '$',
path_nested: {
id: 'OpenBadgeCredential',
format: 'jwt_vc_json',
path: '$.vp.verifiableCredential[0]',
},
},
],
},
vp_token: ['ey...1', 'ey...2'],
vp_token_single: 'ey...3',
},
/*{ arraysWithIndex: ['presentation_submission', 'vp_token', 'vp_token_single'] }*/
)
expect(encoded).toBe(
`presentation_submission=%7B%22id%22%3A%22bbYJTQe7YPvVx-3rLl4Aq%22%2C%22definition_id%22%3A%22000fc41b-2859-4fc3-b797-510492a9479a%22%2C%22descriptor_map%22%3A%5B%7B%22id%22%3A%22OpenBadgeCredential%22%2C%22format%22%3A%22jwt_vp%22%2C%22path%22%3A%22%24%22%2C%22path_nested%22%3A%7B%22id%22%3A%22OpenBadgeCredential%22%2C%22format%22%3A%22jwt_vc_json%22%2C%22path%22%3A%22%24.vp.verifiableCredential%5B0%5D%22%7D%7D%5D%7D&vp_token=%5B%22ey...1%22%2C%22ey...2%22%5D&vp_token_single=ey...3`,
)
})
})