From e54b691eb54cf8002612cec215e6c3e5e244081c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Fri, 10 Feb 2023 11:30:47 +0100 Subject: [PATCH] test(core): update tests to include entry providers --- packages/core/test/scanner.spec.ts | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/core/test/scanner.spec.ts b/packages/core/test/scanner.spec.ts index 6b90e271fef..a472de8d4fb 100644 --- a/packages/core/test/scanner.spec.ts +++ b/packages/core/test/scanner.spec.ts @@ -466,31 +466,45 @@ describe('DependenciesScanner', () => { scope: Scope.REQUEST, }; - it('should add enhancers metadata to every controller', () => { + it('should add enhancers metadata to every controller and every entry provider', () => { (scanner as any).applicationProvidersApplyMap = [provider]; const instance = new InstanceWrapper({ name: 'test' }); const controllers = new Map(); - const mockController = new InstanceWrapper(); + const providers = new Map(); + + const fakeController = new InstanceWrapper(); + const fakeProvider = new InstanceWrapper(); + + const providerToken = 'entryProvider'; + controllers.set('test', fakeController); + providers.set(providerToken, fakeProvider); - controllers.set('test', mockController); mockContainer.expects('getModules').callsFake(() => ({ get: () => ({ injectables: { get: () => instance }, controllers, + entryProviders: Array.from(providers.values()), }), values() { return [this.get()]; }, })); - const addEnhancerMetadataSpy = sinon.spy( - mockController, + + const addEnhancerMetadataControllerSpy = sinon.spy( + fakeController, + 'addEnhancerMetadata', + ); + const addEnhancerMetadataProviderSpy = sinon.spy( + fakeProvider, 'addEnhancerMetadata', ); scanner.addScopedEnhancersMetadata(); - expect(addEnhancerMetadataSpy.called).to.be.true; - expect(addEnhancerMetadataSpy.calledWith(instance)).to.be.true; + expect(addEnhancerMetadataControllerSpy.called).to.be.true; + expect(addEnhancerMetadataControllerSpy.calledWith(instance)).to.be.true; + expect(addEnhancerMetadataProviderSpy.called).to.be.true; + expect(addEnhancerMetadataProviderSpy.calledWith(instance)).to.be.true; }); });