diff --git a/src/authorization/authorization.spec.ts b/src/authorization/authorization.spec.ts index ff27f8ae4..5679caa5f 100644 --- a/src/authorization/authorization.spec.ts +++ b/src/authorization/authorization.spec.ts @@ -706,6 +706,28 @@ describe('Authorization', () => { }); describe('createResource', () => { + it('creates a resource without a parent', async () => { + fetchOnce(authorizationResourceFixture, { status: 201 }); + + await workos.authorization.createResource({ + organizationId: testOrgId, + resourceTypeSlug: 'document', + externalId: 'doc-456', + name: 'Q4 Budget Report', + }); + + const body = fetchBody(); + expect(body).toEqual({ + organization_id: testOrgId, + resource_type_slug: 'document', + external_id: 'doc-456', + name: 'Q4 Budget Report', + }); + expect(body).not.toHaveProperty('parent_resource_id'); + expect(body).not.toHaveProperty('parent_resource_external_id'); + expect(body).not.toHaveProperty('parent_resource_type_slug'); + }); + it('creates an authorization resource with all fields', async () => { fetchOnce(authorizationResourceFixture, { status: 201 }); diff --git a/src/authorization/interfaces/authorization-resource.interface.ts b/src/authorization/interfaces/authorization-resource.interface.ts index cc75a5c80..51cfc6d0f 100644 --- a/src/authorization/interfaces/authorization-resource.interface.ts +++ b/src/authorization/interfaces/authorization-resource.interface.ts @@ -42,6 +42,7 @@ export interface CreateOptionsWithParentExternalId extends BaseCreateAuthorizati } export type CreateAuthorizationResourceOptions = + | BaseCreateAuthorizationResourceOptions | CreateOptionsWithParentResourceId | CreateOptionsWithParentExternalId;