From 6e2e73f8a765a1a0cb1c187ea6c99dec71cfff69 Mon Sep 17 00:00:00 2001 From: Porya Isfahani Date: Wed, 28 Jan 2026 09:22:36 -0500 Subject: [PATCH] add passkey tests, lint signing document tests --- test/resources/passkeys.test.ts | 69 +++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 test/resources/passkeys.test.ts diff --git a/test/resources/passkeys.test.ts b/test/resources/passkeys.test.ts new file mode 100644 index 0000000..aa472ed --- /dev/null +++ b/test/resources/passkeys.test.ts @@ -0,0 +1,69 @@ +import { + Passkey, + PasskeyStateEnum, + PasskeyUpdaterStateEnum, +} from "onfido-node"; + +import { onfido } from "../test-helpers"; + +const sampleUsername = + process.env.ONFIDO_SAMPLE_PASSKEY_USERNAME || "sample-username"; +const samplePasskeyId = + process.env.ONFIDO_SAMPLE_PASSKEY_ID || + "00000000-0000-0000-0000-000000000000"; + +function expectPasskey(passkey: Passkey) { + expect(passkey.id).toMatch( + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, + ); + expect(passkey.application_domain).toBeTruthy(); + expect(passkey.state).toBeTruthy(); + expect(passkey.created_at).toMatch(/^[0-9TZ:\-.]+$/); + expect([ + PasskeyStateEnum.Active, + PasskeyStateEnum.Inactive, + PasskeyStateEnum.UnknownDefaultOpenApi, + ]).toContain(passkey.state); +} + +it("lists passkeys", async () => { + const passkeys = (await onfido.listPasskeys(sampleUsername)).data.passkeys; + + expect(passkeys.length).toBeGreaterThan(0); + + const samplePasskey = + passkeys.find(({ id }) => id === samplePasskeyId) || passkeys[0]; + + expectPasskey(samplePasskey); +}); + +it("finds a passkey", async () => { + const passkey = (await onfido.findPasskey(sampleUsername, samplePasskeyId)) + .data; + + expect(passkey.id).toEqual(samplePasskeyId); + expectPasskey(passkey); +}); + +it("updates a passkey state", async () => { + const updatedPasskey = ( + await onfido.updatePasskey(sampleUsername, samplePasskeyId, { + state: PasskeyUpdaterStateEnum.Inactive, + }) + ).data; + + expect(updatedPasskey.id).toEqual(samplePasskeyId); + expect(updatedPasskey.state).toEqual(PasskeyUpdaterStateEnum.Inactive); +}); + +it("deletes a passkey", async () => { + const response = await onfido.deletePasskey(sampleUsername, samplePasskeyId); + + expect(response.status).toEqual(204); +}); + +it("deletes passkeys", async () => { + const response = await onfido.deletePasskeys(sampleUsername); + + expect(response.status).toEqual(204); +});