diff --git a/packages/common/http/src/resource.ts b/packages/common/http/src/resource.ts index a0c18e2f5ab..43d84c353ae 100644 --- a/packages/common/http/src/resource.ts +++ b/packages/common/http/src/resource.ts @@ -226,7 +226,7 @@ type ResponseType = 'arraybuffer' | 'blob' | 'json' | 'text'; type RawRequestType = (() => string | undefined) | (() => HttpResourceRequest | undefined); function makeHttpResourceFn(responseType: ResponseType) { - return function httpResourceRef( + return function httpResource( request: RawRequestType, options?: HttpResourceOptions, ): HttpResourceRef { diff --git a/packages/common/http/test/resource_spec.ts b/packages/common/http/test/resource_spec.ts index 13f0f46fa97..ebfc842f1c1 100644 --- a/packages/common/http/test/resource_spec.ts +++ b/packages/common/http/test/resource_spec.ts @@ -22,6 +22,12 @@ describe('httpResource', () => { TestBed.configureTestingModule({providers: [provideHttpClient(), provideHttpClientTesting()]}); }); + it('should throw if used outside injection context', () => { + expect(() => httpResource(() => '/data')).toThrowMatching((thrown) => + thrown.message.includes('httpResource() can only be used within an injection context'), + ); + }); + it('should send a basic request', async () => { const backend = TestBed.inject(HttpTestingController); const res = httpResource(() => '/data', {injector: TestBed.inject(Injector)});