summaryrefslogtreecommitdiffhomepage
path: root/packages/browser/src/helpers/browserSupportsWebauthn.test.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2021-08-23 21:13:35 -0700
committerGitHub <noreply@github.com>2021-08-23 21:13:35 -0700
commit30ecc73b9856747337523f1e367b10d9d96a4a95 (patch)
tree793c1d8e592d58aacbb6cd8468bd692c6131b8a5 /packages/browser/src/helpers/browserSupportsWebauthn.test.ts
parent9a849c3d7eb6c82195ddfcd20f1ad4796a7873ec (diff)
parentfb79f6941a1be0a4c320bb91079e109ee01cd5ad (diff)
Merge pull request #151 from MasterKale/feat/browser-supports-platform-authr
feat/browser-supports-platform-authr
Diffstat (limited to 'packages/browser/src/helpers/browserSupportsWebauthn.test.ts')
-rw-r--r--packages/browser/src/helpers/browserSupportsWebauthn.test.ts27
1 files changed, 27 insertions, 0 deletions
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<any, 'window'>(global, 'window', 'get');
+ windowSpy.mockImplementation(() => undefined);
+
+ expect(window).toBe(undefined);
+ expect(browserSupportsWebauthn()).toBe(false);
+
+ // Restore original window value.
+ windowSpy.mockRestore();
+});