From 808256a244c6e21c2db6b29bfc0cfe24268b460c Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Mon, 23 Aug 2021 20:18:27 -0700 Subject: Rename supportsWebAuthn (and fix tests) --- .../helpers/__mocks__/browserSupportsWebauthn.ts | 2 ++ .../src/helpers/__mocks__/supportsWebauthn.ts | 2 -- .../src/helpers/browserSupportsWebauthn.test.ts | 27 ++++++++++++++++++++++ .../browser/src/helpers/browserSupportsWebauthn.ts | 8 +++++++ .../browser/src/helpers/supportsWebauthn.test.ts | 27 ---------------------- packages/browser/src/helpers/supportsWebauthn.ts | 8 ------- 6 files changed, 37 insertions(+), 37 deletions(-) create mode 100644 packages/browser/src/helpers/__mocks__/browserSupportsWebauthn.ts delete mode 100644 packages/browser/src/helpers/__mocks__/supportsWebauthn.ts create mode 100644 packages/browser/src/helpers/browserSupportsWebauthn.test.ts create mode 100644 packages/browser/src/helpers/browserSupportsWebauthn.ts delete mode 100644 packages/browser/src/helpers/supportsWebauthn.test.ts delete mode 100644 packages/browser/src/helpers/supportsWebauthn.ts (limited to 'packages/browser/src/helpers') diff --git a/packages/browser/src/helpers/__mocks__/browserSupportsWebauthn.ts b/packages/browser/src/helpers/__mocks__/browserSupportsWebauthn.ts new file mode 100644 index 0000000..20d5d88 --- /dev/null +++ b/packages/browser/src/helpers/__mocks__/browserSupportsWebauthn.ts @@ -0,0 +1,2 @@ +// We just need a simple mock so we can control whether this returns `true` or `false` +export const browserSupportsWebauthn = jest.fn(); diff --git a/packages/browser/src/helpers/__mocks__/supportsWebauthn.ts b/packages/browser/src/helpers/__mocks__/supportsWebauthn.ts deleted file mode 100644 index b6b47d4..0000000 --- a/packages/browser/src/helpers/__mocks__/supportsWebauthn.ts +++ /dev/null @@ -1,2 +0,0 @@ -// We just need a simple mock so we can control whether this returns `true` or `false` -export default jest.fn(); diff --git a/packages/browser/src/helpers/browserSupportsWebauthn.test.ts b/packages/browser/src/helpers/browserSupportsWebauthn.test.ts new file mode 100644 index 0000000..5308315 --- /dev/null +++ b/packages/browser/src/helpers/browserSupportsWebauthn.test.ts @@ -0,0 +1,27 @@ +import { browserSupportsWebauthn } from './browserSupportsWebauthn'; + +beforeEach(() => { + // @ts-ignore 2741 + window.PublicKeyCredential = jest.fn().mockReturnValue(() => {}); +}); + +test('should return true when browser supports WebAuthn', () => { + expect(browserSupportsWebauthn()).toBe(true); +}); + +test('should return false when browser does not support WebAuthn', () => { + delete (window as any).PublicKeyCredential; + expect(browserSupportsWebauthn()).toBe(false); +}); + +test('should return false when window is undefined', () => { + // Make window undefined as it is in node environments. + const windowSpy = jest.spyOn(global, 'window', 'get'); + windowSpy.mockImplementation(() => undefined); + + expect(window).toBe(undefined); + expect(browserSupportsWebauthn()).toBe(false); + + // Restore original window value. + windowSpy.mockRestore(); +}); diff --git a/packages/browser/src/helpers/browserSupportsWebauthn.ts b/packages/browser/src/helpers/browserSupportsWebauthn.ts new file mode 100644 index 0000000..030256f --- /dev/null +++ b/packages/browser/src/helpers/browserSupportsWebauthn.ts @@ -0,0 +1,8 @@ +/** + * Determine if the browser is capable of Webauthn + */ +export function browserSupportsWebauthn(): boolean { + return ( + window?.PublicKeyCredential !== undefined && typeof window.PublicKeyCredential === 'function' + ); +} diff --git a/packages/browser/src/helpers/supportsWebauthn.test.ts b/packages/browser/src/helpers/supportsWebauthn.test.ts deleted file mode 100644 index e11d77b..0000000 --- a/packages/browser/src/helpers/supportsWebauthn.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -import supportsWebauthn from './supportsWebauthn'; - -beforeEach(() => { - // @ts-ignore 2741 - window.PublicKeyCredential = jest.fn().mockReturnValue(() => {}); -}); - -test('should return true when browser supports WebAuthn', () => { - expect(supportsWebauthn()).toBe(true); -}); - -test('should return false when browser does not support WebAuthn', () => { - delete (window as any).PublicKeyCredential; - expect(supportsWebauthn()).toBe(false); -}); - -test('should return false when window is undefined', () => { - // Make window undefined as it is in node environments. - const windowSpy = jest.spyOn(global, 'window', 'get'); - windowSpy.mockImplementation(() => undefined); - - expect(window).toBe(undefined); - expect(supportsWebauthn()).toBe(false); - - // Restore original window value. - windowSpy.mockRestore(); -}); diff --git a/packages/browser/src/helpers/supportsWebauthn.ts b/packages/browser/src/helpers/supportsWebauthn.ts deleted file mode 100644 index b572080..0000000 --- a/packages/browser/src/helpers/supportsWebauthn.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Determine if the browser is capable of Webauthn - */ -export default function supportsWebauthn(): boolean { - return ( - window?.PublicKeyCredential !== undefined && typeof window.PublicKeyCredential === 'function' - ); -} -- cgit v1.2.3