From aa95dc47f0ae1bad584f34f49b3eace4f5707e86 Mon Sep 17 00:00:00 2001 From: Valentin Palkovic Date: Thu, 16 Feb 2023 18:14:16 +0100 Subject: [PATCH] Fix tests and remove obsolete ones --- .../__testfixtures__/test.module.ts | 11 -- .../utils/PropertyExtractor.test.ts | 106 ++---------------- .../angular-beta/utils/PropertyExtractor.ts | 8 -- code/yarn.lock | 12 -- 4 files changed, 12 insertions(+), 125 deletions(-) diff --git a/code/frameworks/angular/src/client/angular-beta/__testfixtures__/test.module.ts b/code/frameworks/angular/src/client/angular-beta/__testfixtures__/test.module.ts index 439a93b3149..36536f3873e 100644 --- a/code/frameworks/angular/src/client/angular-beta/__testfixtures__/test.module.ts +++ b/code/frameworks/angular/src/client/angular-beta/__testfixtures__/test.module.ts @@ -1,17 +1,6 @@ import { CommonModule } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -@NgModule({ - imports: [ - // - BrowserModule, - BrowserAnimationsModule, - ], -}) -export class WithAnimationsModule {} @NgModule({ imports: [CommonModule, HttpClientModule], diff --git a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts index 5930115bed4..e5ea9113160 100644 --- a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts +++ b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts @@ -7,10 +7,9 @@ import { provideAnimations, provideNoopAnimations, } from '@angular/platform-browser/animations'; -import { provideHttpClient } from '@angular/common/http'; import { NgModuleMetadata } from '../../types'; import { PropertyExtractor, REMOVED_MODULES } from './PropertyExtractor'; -import { WithAnimationsModule, WithOfficialModule } from '../__testfixtures__/test.module'; +import { WithOfficialModule } from '../__testfixtures__/test.module'; const TEST_TOKEN = new InjectionToken('testToken'); const TestTokenProvider = { provide: TEST_TOKEN, useValue: 123 }; @@ -79,13 +78,11 @@ describe('PropertyExtractor', () => { it('should remove Browser/Animations modules recursively', () => { const metadata = { - imports: [WithAnimationsModule], + imports: [BrowserAnimationsModule, BrowserModule], }; const { imports, providers, singletons } = analyzeMetadata(metadata); expect(imports.flat(Number.MAX_VALUE)).toEqual([CommonModule]); - expect(providers.flat(Number.MAX_VALUE)).toEqual([ - { provide: REMOVED_MODULES, useValue: WithAnimationsModule, multi: true }, - ]); + expect(providers.flat(Number.MAX_VALUE)).toEqual([]); expect(singletons.flat(Number.MAX_VALUE)).toEqual(provideAnimations()); }); @@ -94,18 +91,16 @@ describe('PropertyExtractor', () => { imports: [WithOfficialModule], }; const { imports, providers, singletons } = analyzeMetadata(metadata); - expect(imports.flat(Number.MAX_VALUE)).toEqual([CommonModule]); - expect(providers.flat(Number.MAX_VALUE)).toEqual([ - { provide: REMOVED_MODULES, useValue: WithOfficialModule, multi: true }, - ]); - expect(singletons.flat(Number.MAX_VALUE)).toEqual([provideHttpClient()]); + expect(imports.flat(Number.MAX_VALUE)).toEqual([CommonModule, WithOfficialModule]); + expect(providers.flat(Number.MAX_VALUE)).toEqual([]); + expect(singletons.flat(Number.MAX_VALUE)).toEqual([]); }); }); describe('extractImports', () => { it('should return Angular official modules', () => { const imports = extractImports({ imports: [TestModuleWithImportsAndProviders] }); - expect(imports).toEqual([CommonModule]); + expect(imports).toEqual([CommonModule, TestModuleWithImportsAndProviders]); }); it('should return standalone components', () => { @@ -115,17 +110,11 @@ describe('PropertyExtractor', () => { }, StandaloneTestComponent ); - expect(imports).toEqual([CommonModule, StandaloneTestComponent]); - }); - - it('should not return any regular modules (they get destructured)', () => { - const imports = extractImports({ - imports: [ - TestModuleWithDeclarations, - { ngModule: TestModuleWithImportsAndProviders, providers: [] }, - ], - }); - expect(imports).toEqual([CommonModule]); + expect(imports).toEqual([ + CommonModule, + TestModuleWithImportsAndProviders, + StandaloneTestComponent, + ]); }); }); @@ -134,44 +123,6 @@ describe('PropertyExtractor', () => { const declarations = extractDeclarations({ declarations: [TestComponent1] }, TestComponent2); expect(declarations).toEqual([TestComponent1, TestComponent2]); }); - - it('should ignore `storyComponent` if it is already declared', () => { - const declarations = extractDeclarations( - { - imports: [TestModuleWithImportsAndProviders], - declarations: [TestComponent2, StandaloneTestComponent, TestDirective], - }, - TestComponent1 - ); - expect(declarations).toEqual([ - TestComponent1, - TestComponent2, - StandaloneTestComponent, - TestDirective, - ]); - }); - - it('should ignore `storyComponent` if it is standalone', () => { - const declarations = extractDeclarations( - { - imports: [TestModuleWithImportsAndProviders], - declarations: [TestComponent1, TestComponent2, TestDirective], - }, - StandaloneTestComponent - ); - expect(declarations).toEqual([TestComponent1, TestComponent2, TestDirective]); - }); - - it('should ignore `storyComponent` if it is not a component/directive/pipe', () => { - const declarations = extractDeclarations( - { - imports: [TestModuleWithImportsAndProviders], - declarations: [TestComponent1, TestComponent2, StandaloneTestComponent], - }, - TestService - ); - expect(declarations).toEqual([TestComponent1, TestComponent2, StandaloneTestComponent]); - }); }); describe('extractProviders', () => { @@ -182,39 +133,6 @@ describe('PropertyExtractor', () => { expect(providers).toEqual([TestService]); }); - it('should return an array of providers extracted from ModuleWithProviders', () => { - const providers = extractProviders({ - imports: [{ ngModule: TestModuleWithImportsAndProviders, providers: [TestService] }], - }); - expect(providers).toEqual([ - { provide: TEST_TOKEN, useValue: 123 }, - { provide: REMOVED_MODULES, useValue: TestModuleWithDeclarations, multi: true }, - TestService, - { provide: REMOVED_MODULES, useValue: TestModuleWithImportsAndProviders, multi: true }, - ]); - }); - - it('should return an array of unique providers', () => { - const providers = extractProviders({ - imports: [{ ngModule: TestModuleWithImportsAndProviders, providers: [TestService] }], - providers: [TestService, { provide: TEST_TOKEN, useValue: 123 }], - }); - expect(providers).toEqual([ - { provide: TEST_TOKEN, useValue: 123 }, - { provide: REMOVED_MODULES, useValue: TestModuleWithDeclarations, multi: true }, - TestService, - { - provide: new InjectionToken('testToken'), - useValue: 123, - }, - { - provide: REMOVED_MODULES, - useValue: TestModuleWithImportsAndProviders, - multi: true, - }, - ]); - }); - it('should return an array of singletons extracted', () => { const singeltons = extractSingletons({ imports: [BrowserAnimationsModule], diff --git a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.ts b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.ts index 0d1381ce7ee..a2c82071368 100644 --- a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.ts +++ b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.ts @@ -1,5 +1,4 @@ import { CommonModule } from '@angular/common'; -import { HttpClientModule, provideHttpClient } from '@angular/common/http'; import { Component, Directive, @@ -124,13 +123,6 @@ export class PropertyExtractor implements NgModuleMetadata { return [true, provideNoopAnimations()]; } - /** - * HttpClient has to be provided manually as a singleton - */ - if (ngModule === HttpClientModule) { - return [true, provideHttpClient()]; - } - return [false]; }; diff --git a/code/yarn.lock b/code/yarn.lock index e80149cdcae..605cc4fdbb6 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -3395,18 +3395,6 @@ __metadata: languageName: node linkType: hard -"@ngxs/store@npm:^3.7.6": - version: 3.7.6 - resolution: "@ngxs/store@npm:3.7.6" - dependencies: - tslib: ^1.9.0 - peerDependencies: - "@angular/core": ">=6.1.0 <16.0.0" - rxjs: ">=6.5.5" - checksum: 38e9c0e9830712e9dfa0de6c0226e16fd5cf0cf9960d0eb1ebf67f35228225685536be12c920c0755298cc0e95f2eb673ede91f23ed78d8f0cdde04ae3c51cdd - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5"