From 0b37a9be7bcead032ba91c03d979c097c65d70bd Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Thu, 21 May 2020 18:20:41 -0700 Subject: Add tests for generateAssertionOptions in browser --- .../src/assertion/generateAssertionOptions.test.ts | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 packages/server/src/assertion/generateAssertionOptions.test.ts (limited to 'packages/server/src') diff --git a/packages/server/src/assertion/generateAssertionOptions.test.ts b/packages/server/src/assertion/generateAssertionOptions.test.ts new file mode 100644 index 0000000..54d10f9 --- /dev/null +++ b/packages/server/src/assertion/generateAssertionOptions.test.ts @@ -0,0 +1,45 @@ +import generateAssertionOptions from './generateAssertionOptions'; + +test('should generate credential request options suitable for sending via JSON', () => { + const challenge = 'totallyrandomvalue'; + + const options = generateAssertionOptions( + challenge, + [ + Buffer.from('1234', 'ascii').toString('base64'), + Buffer.from('5678', 'ascii').toString('base64'), + ], + 1, + ); + + expect(options).toEqual({ + publicKey: { + challenge, + allowCredentials: [ + { + id: 'MTIzNA==', + type: 'public-key', + transports: ['usb', 'ble', 'nfc'], + }, + { + id: 'NTY3OA==', + type: 'public-key', + transports: ['usb', 'ble', 'nfc'], + }, + ], + timeout: 1, + }, + }); +}); + +test('defaults to 60 seconds if no timeout is specified', () => { + const options = generateAssertionOptions( + 'totallyrandomvalue', + [ + Buffer.from('1234', 'ascii').toString('base64'), + Buffer.from('5678', 'ascii').toString('base64'), + ], + ); + + expect(options.publicKey.timeout).toEqual(60000); +}); -- cgit v1.2.3