Adds two new helper functions that can be used when unit testing Angular services that depend upon upgraded AngularJS services, or vice versa. The functions return a module (AngularJS or NgModule) that is configured to wire up the Angular and AngularJS injectors without the need to actually bootstrap a full hybrid application. This makes it simpler and faster to unit test services. PR Close #16848
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google Inc. All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| 
 | |
| // #docregion angular-setup
 | |
| import {TestBed} from '@angular/core/testing';
 | |
| import {createAngularJSTestingModule, createAngularTestingModule} from '@angular/upgrade/static/testing';
 | |
| 
 | |
| import {HeroesService, Ng2AppModule, ng1AppModule} from './module';
 | |
| 
 | |
| const {module, inject} = (window as any).angular.mock;
 | |
| 
 | |
| // #enddocregion angular-setup
 | |
| describe('HeroesService (from Angular)', () => {
 | |
| 
 | |
|   // #docregion angular-setup
 | |
|   beforeEach(() => {
 | |
|     TestBed.configureTestingModule(
 | |
|         {imports: [createAngularTestingModule([ng1AppModule.name]), Ng2AppModule]});
 | |
|   });
 | |
|   // #enddocregion angular-setup
 | |
| 
 | |
|   // #docregion angular-spec
 | |
|   it('should have access to the HeroesService', () => {
 | |
|     const heroesService = TestBed.get(HeroesService) as HeroesService;
 | |
|     expect(heroesService).toBeDefined();
 | |
|   });
 | |
|   // #enddocregion angular-spec
 | |
| });
 | |
| 
 | |
| 
 | |
| describe('HeroesService (from AngularJS)', () => {
 | |
|   // #docregion angularjs-setup
 | |
|   beforeEach(module(createAngularJSTestingModule([Ng2AppModule])));
 | |
|   beforeEach(module(ng1AppModule.name));
 | |
|   // #enddocregion angularjs-setup
 | |
| 
 | |
|   // #docregion angularjs-spec
 | |
|   it('should have access to the HeroesService',
 | |
|      inject((heroesService: HeroesService) => { expect(heroesService).toBeDefined(); }));
 | |
|   // #enddocregion angularjs-spec
 | |
| });
 |