Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit d38f98f

Browse files
committed
Fixed the test setup so we can run tests using the new upgrade module
Like before, we still need to bootstrap ng-upgrade and save a reference to the injector so we can get at it from angular 1 components and services. In this case, we bootstrap it via ng2 using the browser dynamic testing platform. Since the downgrade is static, we no longer need to call the downgrade utilities and components function.
1 parent 3e3548a commit d38f98f

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

karma-test-setup.js

+14-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
var moduleName = require('source/ui.module').moduleName;
2-
var UpgradeAdapter = require('@angular/upgrade').UpgradeAdapter;
2+
var UpgradeModule = require('@angular/upgrade/static').UpgradeModule;
33
var core = require('@angular/core');
4+
var testingBrowser = require('@angular/platform-browser-dynamic/testing');
45
var browser = require('@angular/platform-browser');
56
var forms = require('@angular/forms');
67
var utilities = require('typescript-angular-utilities');
7-
var downgrade = utilities.downgrade;
8-
var downgradeComponents = require('./source/componentsDowngrade');
98
var ComponentsModule = require('./source/ui.module').ComponentsModule;
109

11-
var upgrade = new UpgradeAdapter(core.forwardRef(function () { return TestModule; }));
12-
13-
class TestModule { }
10+
class TestModule { ngDoBootstrap() { } }
1411
core.NgModule({
1512
imports: [
1613
browser.BrowserModule,
1714
forms.ReactiveFormsModule,
1815
utilities.UtilitiesModule,
1916
ComponentsModule,
17+
UpgradeModule,
2018
],
2119
})(TestModule)
2220

@@ -26,21 +24,20 @@ function setup() {
2624
});
2725

2826
return new Promise(function (resolve) {
29-
downgrade.downgradeUtilitiesToAngular1(upgrade);
30-
downgradeComponents.downgradeComponentsToAngular1(upgrade);
31-
3227
var ng2Injector = null;
3328

3429
angular.module(moduleName)
35-
.factory('ng2.Injector', function () {
36-
return ng2Injector;
37-
});
38-
39-
upgrade.bootstrap(document.body, [moduleName])
40-
.ready(function (ref) {
41-
ng2Injector = ref.ng2Injector;
42-
resolve();
30+
.factory('$$angularInjector', function () {
31+
return {
32+
get: function (token) {
33+
return ng2Injector.get(token);
34+
},
35+
};
4336
});
37+
testingBrowser.platformBrowserDynamicTesting().bootstrapModule(TestModule).then(function(platformRef) {
38+
ng2Injector = platformRef.injector;
39+
resolve();
40+
});
4441
});
4542
}
4643

0 commit comments

Comments
 (0)