summaryrefslogtreecommitdiffhomepage
path: root/packages/browser/src/methods
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2022-07-04 08:21:19 -0700
committerMatthew Miller <matthew@millerti.me>2022-07-04 08:21:19 -0700
commit1a1322e27af3d68fa4cc98f62bf51c6c8e9f12ac (patch)
tree09dfc61765215ef9ff442e1cdae186f1f446ca14 /packages/browser/src/methods
parent0bde0f91b8bdecfbfc889671758c98bcd3a4dcc8 (diff)
Add tests
Diffstat (limited to 'packages/browser/src/methods')
-rw-r--r--packages/browser/src/methods/startAuthentication.test.ts17
-rw-r--r--packages/browser/src/methods/startRegistration.test.ts17
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');