diff --git a/test/integration/auth.spec.ts b/test/integration/auth.spec.ts index 7b113b3156..7c520a777e 100644 --- a/test/integration/auth.spec.ts +++ b/test/integration/auth.spec.ts @@ -1222,7 +1222,7 @@ describe('admin.auth', () => { minLength: 6, } } - }) + }) }); const mfaSmsEnabledTotpEnabledConfig: MultiFactorConfig = { @@ -1758,6 +1758,46 @@ describe('admin.auth', () => { }); }); + describe('Passkey config management operations', () => { + + // Define expected passkey configuration + const expectedPasskeyConfig = { + name: 'projects/{$projectId}/passkeyConfig', + rpId: '{$projectId}.firebaseapp.com', + expectedOrigins: ['app1', 'example.com'], + }; + + it('createPasskeyConfig() should create passkey config with expected passkeyConfig', async () => { + const rpId = projectId + '.firebaseapp.com'; + const createRequest = { expectedOrigins: ['app1', 'example.com'] }; + const createdPasskeyConfig = await getAuth().passkeyConfigManager().createPasskeyConfig(rpId, createRequest); + + expect(createdPasskeyConfig.name).to.deep.equal(expectedPasskeyConfig.name); + expect(createdPasskeyConfig.rpId).to.deep.equal(expectedPasskeyConfig.rpId); + expect(createdPasskeyConfig.expectedOrigins).to.deep.equal(expectedPasskeyConfig.expectedOrigins); + }); + + it('getPasskeyConfig() should resolve with expected passkeyConfig', async () => { + const actualPasskeyConfig = await getAuth().passkeyConfigManager().getPasskeyConfig(); + + expect(actualPasskeyConfig.name).to.deep.equal(expectedPasskeyConfig.name); + expect(actualPasskeyConfig.rpId).to.deep.equal(expectedPasskeyConfig.rpId); + expect(actualPasskeyConfig.expectedOrigins).to.deep.equal(expectedPasskeyConfig.rpId); + }); + + it('updatePasskeyConfig() should resolve with updated expectedOrigins', async () => { + const updateRequest = { + expectedOrigins: ['app1', 'example.com', 'app2'] + }; + + const updatedPasskeyConfig = await getAuth().passkeyConfigManager().updatePasskeyConfig(updateRequest); + + expect(updatedPasskeyConfig.name).to.deep.equal(expectedPasskeyConfig.name); + expect(updatedPasskeyConfig.rpId).to.deep.equal(expectedPasskeyConfig.rpId); + expect(updatedPasskeyConfig.expectedOrigins).to.deep.equal(updateRequest.expectedOrigins); + }); + }); + // Sanity check OIDC/SAML config management API. describe('SAML management APIs', () => { let tenantAwareAuth: TenantAwareAuth; @@ -2022,7 +2062,7 @@ describe('admin.auth', () => { } return getAuth().tenantManager().updateTenant(createdTenantId, updateRequestNoMfaConfig) }); - + it('updateTenant() should not update tenant reCAPTCHA config is undefined', () => { expectedUpdatedTenant.tenantId = createdTenantId; const updatedOptions2: UpdateTenantRequest = {