diff options
author | Matthew Miller <matthew@millerti.me> | 2022-07-04 08:21:19 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2022-07-04 08:21:19 -0700 |
commit | 1a1322e27af3d68fa4cc98f62bf51c6c8e9f12ac (patch) | |
tree | 09dfc61765215ef9ff442e1cdae186f1f446ca14 /packages/browser/src/methods | |
parent | 0bde0f91b8bdecfbfc889671758c98bcd3a4dcc8 (diff) |
Add tests
Diffstat (limited to 'packages/browser/src/methods')
-rw-r--r-- | packages/browser/src/methods/startAuthentication.test.ts | 17 | ||||
-rw-r--r-- | packages/browser/src/methods/startRegistration.test.ts | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/packages/browser/src/methods/startAuthentication.test.ts b/packages/browser/src/methods/startAuthentication.test.ts index 6f1b87b..b246cb0 100644 --- a/packages/browser/src/methods/startAuthentication.test.ts +++ b/packages/browser/src/methods/startAuthentication.test.ts @@ -287,6 +287,23 @@ test('should throw error if no acceptable <input> is found', async () => { rejected.toThrow(/no <input>/i); }); +test('should return authenticatorAttachment if present', async () => { + // Mock extension return values from authenticator + mockNavigatorGet.mockImplementation((): Promise<any> => { + return new Promise(resolve => { + resolve({ + response: {}, + getClientExtensionResults: () => {}, + authenticatorAttachment: 'cross-platform', + }); + }); + }); + + const response = await startAuthentication(goodOpts1); + + expect(response.authenticatorAttachment).toEqual('cross-platform'); +}); + describe('WebAuthnError', () => { describe('AbortError', () => { const AbortError = generateCustomError('AbortError'); diff --git a/packages/browser/src/methods/startRegistration.test.ts b/packages/browser/src/methods/startRegistration.test.ts index 93400c4..ddc2d6a 100644 --- a/packages/browser/src/methods/startRegistration.test.ts +++ b/packages/browser/src/methods/startRegistration.test.ts @@ -223,6 +223,23 @@ test('should cancel an existing call when executed again', async () => { expect(abortSpy).toHaveBeenCalledTimes(1); }); +test('should return authenticatorAttachment if present', async () => { + // Mock extension return values from authenticator + mockNavigatorCreate.mockImplementation((): Promise<any> => { + return new Promise(resolve => { + resolve({ + response: {}, + getClientExtensionResults: () => {}, + authenticatorAttachment: 'cross-platform', + }); + }); + }); + + const response = await startRegistration(goodOpts1); + + expect(response.authenticatorAttachment).toEqual('cross-platform'); +}); + describe('WebAuthnError', () => { describe('AbortError', () => { const AbortError = generateCustomError('AbortError'); |