Skip to content

Commit 1a0f170

Browse files
authored
Merge pull request #636 from aspnetboilerplate/fix/6378
fixes angular unit test problems
2 parents 4a65539 + 1d65e9e commit 1a0f170

File tree

4 files changed

+113
-21
lines changed

4 files changed

+113
-21
lines changed

angular/angular.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
"main": "src/test.ts",
122122
"karmaConfig": "./karma.conf.js",
123123
"polyfills": "src/polyfills.ts",
124+
"tsConfig": "src/tsconfig.spec.json",
124125
"assets": [
125126
"src/assets",
126127
"src/favicon.ico",

angular/e2e/tsconfig.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@
1313
"target": "es6",
1414
"typeRoots": [
1515
"../node_modules/@types"
16-
]
17-
}
16+
],
17+
"baseUrl": ".",
18+
"paths": {
19+
"@abp/*": [ "../node_modules/abp-ng2-module/dist/src/*" ],
20+
"@app/*": [ "./app/*" ],
21+
"@shared/*": [ "./shared/*" ],
22+
"@node_modules/*": [ "../node_modules/*" ]
23+
}
24+
},
25+
"files": [
26+
"../src/polyfills.ts",
27+
"../src/test.ts"
28+
],
1829
}

angular/src/app/app.component.spec.ts

Lines changed: 82 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,97 @@
1-
/* tslint:disable:no-unused-variable */
1+
import { TestBed, async } from "@angular/core/testing";
2+
import { AppComponent } from "./app.component";
3+
import { LayoutStoreService } from "../shared/layout/layout-store.service";
4+
import { AppSessionService } from "../shared/session/app-session.service";
5+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
26

3-
import { TestBed, async } from '@angular/core/testing';
4-
import { AppComponent } from './app.component';
7+
import { CommonModule } from "@angular/common";
8+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
9+
import { HttpClientJsonpModule } from "@angular/common/http";
10+
import { HttpClientModule } from "@angular/common/http";
11+
import { ModalModule } from "ngx-bootstrap/modal";
12+
import { BsDropdownModule } from "ngx-bootstrap/dropdown";
13+
import { CollapseModule } from "ngx-bootstrap/collapse";
14+
import { TabsModule } from "ngx-bootstrap/tabs";
15+
import { NgxPaginationModule } from "ngx-pagination";
16+
import { RouterTestingModule } from "@angular/router/testing";
17+
import { ServiceProxyModule } from "../shared/service-proxies/service-proxy.module";
18+
import { SharedModule } from "../shared/shared.module";
19+
import { HomeComponent } from "../app/home/home.component";
20+
import { AboutComponent } from "../app/about/about.component";
521

6-
describe('AppComponent', () => {
22+
// layout
23+
import { HeaderComponent } from "./layout/header.component";
24+
import { HeaderLeftNavbarComponent } from "./layout/header-left-navbar.component";
25+
import { HeaderLanguageMenuComponent } from "./layout/header-language-menu.component";
26+
import { HeaderUserMenuComponent } from "./layout/header-user-menu.component";
27+
import { FooterComponent } from "./layout/footer.component";
28+
import { SidebarComponent } from "./layout/sidebar.component";
29+
import { SidebarLogoComponent } from "./layout/sidebar-logo.component";
30+
import { SidebarUserPanelComponent } from "./layout/sidebar-user-panel.component";
31+
import { SidebarMenuComponent } from "./layout/sidebar-menu.component";
32+
33+
describe("AppComponent", () => {
734
beforeEach(() => {
835
TestBed.configureTestingModule({
936
declarations: [
10-
AppComponent
37+
AppComponent,
38+
HomeComponent,
39+
AboutComponent,
40+
41+
// layout
42+
HeaderComponent,
43+
HeaderLeftNavbarComponent,
44+
HeaderLanguageMenuComponent,
45+
HeaderUserMenuComponent,
46+
FooterComponent,
47+
SidebarComponent,
48+
SidebarLogoComponent,
49+
SidebarUserPanelComponent,
50+
SidebarMenuComponent,
51+
],
52+
imports: [
53+
BrowserAnimationsModule,
54+
CommonModule,
55+
FormsModule,
56+
ReactiveFormsModule,
57+
HttpClientModule,
58+
HttpClientJsonpModule,
59+
ModalModule.forChild(),
60+
BsDropdownModule.forRoot(),
61+
CollapseModule.forRoot(),
62+
TabsModule.forRoot(),
63+
RouterTestingModule,
64+
ServiceProxyModule,
65+
SharedModule.forRoot(),
66+
NgxPaginationModule,
67+
],
68+
providers: [
69+
LayoutStoreService,
70+
{
71+
provide: AppSessionService,
72+
useValue: {
73+
application: {
74+
version: "",
75+
releaseDate: {
76+
format: function () {
77+
return "";
78+
},
79+
},
80+
},
81+
getShownLoginName: function(){
82+
return 'admin';
83+
}
84+
},
85+
},
1186
],
1287
});
1388
TestBed.compileComponents();
1489
});
1590

16-
it('should create the app', async(() => {
91+
it("should create the app", async(() => {
1792
const fixture = TestBed.createComponent(AppComponent);
1893
const app = fixture.debugElement.componentInstance;
1994
expect(app).toBeTruthy();
2095
}));
21-
22-
it(`should have as title 'app works!'`, async(() => {
23-
const fixture = TestBed.createComponent(AppComponent);
24-
const app = fixture.debugElement.componentInstance;
25-
expect(app.title).toEqual('app works!');
26-
}));
27-
28-
it('should render title in a h1 tag', async(() => {
29-
const fixture = TestBed.createComponent(AppComponent);
30-
fixture.detectChanges();
31-
const compiled = fixture.debugElement.nativeElement;
32-
expect(compiled.querySelector('h1').textContent).toContain('app works!');
33-
}));
96+
3497
});

angular/src/tsconfig.spec.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "./out-tsc/spec",
5+
"types": [
6+
"jasmine"
7+
]
8+
},
9+
"files": [
10+
"test.ts",
11+
"polyfills.ts"
12+
],
13+
"include": [
14+
"**/*.spec.ts",
15+
"**/*.d.ts"
16+
]
17+
}

0 commit comments

Comments
 (0)