Skip to content
This repository was archived by the owner on Dec 18, 2024. It is now read-only.

Commit 0122fc8

Browse files
committed
Make all tests use a consistenting testing module
1 parent e7180db commit 0122fc8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+422
-383
lines changed

karma.conf.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ module.exports = function (config) {
1616
require('karma-sauce-launcher'),
1717
],
1818
files: [
19-
{ pattern: './src/test.ts', watched: false }
19+
{pattern: './src/test.ts', watched: false},
20+
{pattern: 'node_modules/hammerjs/hammer.js', included: true, watched: false},
2021
],
2122
preprocessors: {
2223
'./src/test.ts': ['@angular/cli']

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"@angular/compiler-cli": "^4.0.0",
3737
"@types/jasmine": "^2.5.41",
3838
"@types/node": "^7.0.5",
39+
"hammerjs": "^2.0.8",
3940
"highlight.js": "^9.9.0",
4041
"jasmine-core": "2.4.1",
4142
"jasmine-spec-reporter": "2.5.0",

scripts/ci/build-and-test.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ if is_lint; then
1818
elif is_e2e; then
1919
$(npm bin)/ng e2e
2020
else
21+
npm run build-themes
2122
$(npm bin)/ng test --watch false
2223
fi
2324

2425
# Shutdown the previous created tunnel.
25-
teardown_tunnel
26+
teardown_tunnel

src/app/app-module.ts

Lines changed: 43 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,69 @@
11
import {BrowserModule} from '@angular/platform-browser';
22
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
33
import {NgModule} from '@angular/core';
4-
import {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';
4+
import {LocationStrategy, PathLocationStrategy} from '@angular/common';
55
import {FormsModule} from '@angular/forms';
66
import {HttpModule} from '@angular/http';
7-
import {
8-
MdButtonModule,
9-
MdCardModule,
10-
MdGridListModule,
11-
MdIconModule,
12-
MdListModule,
13-
MdMenuModule,
14-
MdNativeDateModule,
15-
MdSidenavModule, MdTabsModule,
16-
MdToolbarModule,
17-
MdTooltipModule, PortalModule,
18-
} from '@angular/material';
7+
import {RouterModule} from '@angular/router';
8+
import {MdNativeDateModule} from '@angular/material';
199
import {ExampleModule} from '@angular/material-examples';
2010

2111
import {MaterialDocsApp} from './material-docs-app';
22-
import {Homepage} from './pages/homepage/homepage';
23-
import {routing} from './routes';
24-
import {ComponentList} from './pages/component-list/component-list';
25-
import {ComponentViewer} from './pages/component-viewer/component-viewer';
26-
import {GuideList} from './pages/guide-list';
27-
import {GuideViewer} from './pages/guide-viewer';
28-
import {SharedModule} from './shared/shared-module';
29-
import {ComponentCategoryList} from './pages/component-category-list/component-category-list';
30-
import {ComponentSidenav} from './pages/component-sidenav/component-sidenav';
31-
import {Footer} from './shared/footer/footer';
12+
import {HomepageModule} from './pages/homepage/homepage';
13+
import {MATERIAL_DOCS_ROUTES} from './routes';
14+
import {ComponentListModule} from './pages/component-list/component-list';
15+
import {ComponentViewerModule} from './pages/component-viewer/component-viewer';
16+
import {ComponentCategoryListModule} from './pages/component-category-list/component-category-list';
17+
import {ComponentSidenavModule} from './pages/component-sidenav/component-sidenav';
18+
import {FooterModule} from './shared/footer/footer';
3219
import {ComponentPageTitle} from './pages/page-title/page-title';
33-
import {ComponentPageHeader} from './pages/component-page-header/component-page-header';
20+
import {ComponentHeaderModule} from './pages/component-page-header/component-page-header';
3421
import {StyleManager} from './shared/style-manager/style-manager';
35-
36-
37-
export const MATERIAL_COMPONENTS_USED = [
38-
MdButtonModule,
39-
MdCardModule,
40-
MdGridListModule,
41-
MdIconModule,
42-
MdListModule,
43-
MdMenuModule,
44-
MdSidenavModule,
45-
MdTabsModule,
46-
MdToolbarModule,
47-
MdTooltipModule,
48-
PortalModule,
49-
];
22+
import {SvgViewerModule} from './shared/svg-viewer/svg-viewer';
23+
import {ThemePickerModule} from './shared/theme-picker/theme-picker';
24+
import {PlunkerButtonModule} from './shared/plunker/plunker-button';
25+
import {NavBarModule} from './shared/navbar/navbar';
26+
import {ExampleViewer} from './shared/example-viewer/example-viewer';
27+
import {ThemeStorage} from './shared/theme-picker/theme-storage/theme-storage';
28+
import {GuideItems} from './shared/guide-items/guide-items';
29+
import {DocumentationItems} from './shared/documentation-items/documentation-items';
30+
import {GuideListModule} from './pages/guide-list/guide-list';
31+
import {GuideViewerModule} from './pages/guide-viewer/guide-viewer';
32+
import {DocViewerModule} from './shared/doc-viewer/doc-viewer-module';
5033

5134
@NgModule({
52-
imports: MATERIAL_COMPONENTS_USED,
53-
exports: MATERIAL_COMPONENTS_USED,
54-
})
55-
export class DocsMaterialModule {}
56-
57-
58-
@NgModule({
59-
declarations: [
60-
MaterialDocsApp,
61-
ComponentCategoryList,
62-
ComponentList,
63-
ComponentSidenav,
64-
ComponentViewer,
65-
ComponentPageHeader,
66-
GuideList,
67-
GuideViewer,
68-
Homepage,
69-
Footer,
70-
],
71-
exports: [
72-
MaterialDocsApp,
73-
Homepage,
74-
],
7535
imports: [
7636
BrowserModule,
7737
BrowserAnimationsModule,
7838
ExampleModule,
79-
SharedModule,
8039
FormsModule,
8140
HttpModule,
82-
DocsMaterialModule,
8341
MdNativeDateModule,
84-
routing,
42+
RouterModule.forRoot(MATERIAL_DOCS_ROUTES),
43+
44+
ComponentCategoryListModule,
45+
ComponentHeaderModule,
46+
ComponentListModule,
47+
ComponentSidenavModule,
48+
ComponentViewerModule,
49+
DocViewerModule,
50+
FooterModule,
51+
GuideListModule,
52+
GuideListModule,
53+
GuideViewerModule,
54+
HomepageModule,
55+
NavBarModule,
56+
PlunkerButtonModule,
57+
SvgViewerModule,
58+
ThemePickerModule,
8559
],
60+
declarations: [MaterialDocsApp],
8661
providers: [
87-
Location,
8862
ComponentPageTitle,
63+
DocumentationItems,
64+
GuideItems,
8965
StyleManager,
66+
ThemeStorage,
9067
{provide: LocationStrategy, useClass: PathLocationStrategy},
9168
],
9269
bootstrap: [MaterialDocsApp],

src/app/material-docs-app.spec.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/app/pages/component-category-list/component-category-list.spec.ts

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,21 @@
1-
import {async, TestBed, ComponentFixture} from '@angular/core/testing';
2-
import {MaterialModule} from '@angular/material';
3-
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
4-
5-
import {DocumentationItems} from '../../shared/documentation-items/documentation-items';
6-
import {ComponentPageTitle} from '../page-title/page-title';
7-
import {ComponentCategoryList} from './component-category-list';
1+
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
2+
import {ComponentCategoryList, ComponentCategoryListModule} from './component-category-list';
3+
import {DocsAppTestingModule} from '../../testing/testing-module';
84

95

106
describe('ComponentCategoryList', () => {
117
let fixture: ComponentFixture<ComponentCategoryList>;
128

139
beforeEach(async(() => {
1410
TestBed.configureTestingModule({
15-
imports: [MaterialModule],
16-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
17-
declarations: [ComponentCategoryList],
18-
providers: [
19-
DocumentationItems,
20-
ComponentPageTitle
21-
]
22-
});
23-
24-
fixture = TestBed.createComponent(ComponentCategoryList)
11+
imports: [ComponentCategoryListModule, DocsAppTestingModule],
12+
}).compileComponents();
2513
}));
2614

15+
beforeEach(() => {
16+
fixture = TestBed.createComponent(ComponentCategoryList);
17+
});
18+
2719
it('should set page title on init', () => {
2820
const component = fixture.componentInstance;
2921
spyOn(component, 'ngOnInit').and.callThrough();

src/app/pages/component-category-list/component-category-list.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
import {Component} from '@angular/core';
1+
import {Component, NgModule} from '@angular/core';
2+
import {MdCardModule} from '@angular/material';
3+
import {CommonModule} from '@angular/common';
4+
import {RouterModule} from '@angular/router';
25
import {DocumentationItems} from '../../shared/documentation-items/documentation-items';
36
import {ComponentPageTitle} from '../page-title/page-title';
7+
import {SvgViewerModule} from '../../shared/svg-viewer/svg-viewer';
48

59

610
@Component({
@@ -16,3 +20,11 @@ export class ComponentCategoryList {
1620
this._componentPageTitle.title = 'Component Library';
1721
}
1822
}
23+
24+
@NgModule({
25+
imports: [SvgViewerModule, MdCardModule, CommonModule, RouterModule],
26+
exports: [ComponentCategoryList],
27+
declarations: [ComponentCategoryList],
28+
providers: [DocumentationItems, ComponentPageTitle],
29+
})
30+
export class ComponentCategoryListModule { }

src/app/pages/component-list/component-list.spec.ts

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
import {async, TestBed, ComponentFixture} from '@angular/core/testing';
2-
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
3-
import {MaterialModule} from '@angular/material';
4-
import {ActivatedRoute, Router} from '@angular/router';
5-
import {RouterTestingModule} from '@angular/router/testing';
1+
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
2+
import {ActivatedRoute} from '@angular/router';
63
import {Observable} from 'rxjs/Observable';
7-
8-
import {DocumentationItems} from '../../shared/documentation-items/documentation-items';
9-
import {ComponentPageTitle} from '../page-title/page-title';
10-
import {ComponentList} from './component-list';
4+
import {ComponentList, ComponentListModule} from './component-list';
5+
import {DocsAppTestingModule} from '../../testing/testing-module';
116

127
const CATEGORY_ID = 'forms';
138
const mockActivatedRoute = {
@@ -22,18 +17,16 @@ describe('ComponentList', () => {
2217

2318
beforeEach(async(() => {
2419
TestBed.configureTestingModule({
25-
imports: [MaterialModule, RouterTestingModule],
26-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
27-
declarations: [ComponentList],
20+
imports: [ComponentListModule, DocsAppTestingModule],
2821
providers: [
29-
{provide: ActivatedRoute, useValue: mockActivatedRoute},
30-
ComponentPageTitle,
31-
DocumentationItems,
22+
{provide: ActivatedRoute, useValue: mockActivatedRoute}
3223
]
33-
});
24+
}).compileComponents();
25+
}));
3426

27+
beforeEach(() => {
3528
fixture = TestBed.createComponent(ComponentList);
36-
}));
29+
});
3730

3831
it('should set the category from router params', done => {
3932
const component = fixture.componentInstance;

src/app/pages/component-list/component-list.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
import {Component} from '@angular/core';
1+
import {Component, NgModule} from '@angular/core';
22
import {
33
DocumentationItems,
44
DocCategory
55
} from '../../shared/documentation-items/documentation-items';
6-
import {ActivatedRoute} from '@angular/router';
6+
import {ActivatedRoute, RouterModule} from '@angular/router';
77
import {ComponentPageTitle} from '../page-title/page-title';
8+
import {SvgViewerModule} from '../../shared/svg-viewer/svg-viewer';
9+
import {CommonModule} from '@angular/common';
810

911
@Component({
1012
selector: 'app-components',
@@ -23,3 +25,11 @@ export class ComponentList {
2325
});
2426
}
2527
}
28+
29+
@NgModule({
30+
imports: [SvgViewerModule, RouterModule, CommonModule],
31+
exports: [ComponentList],
32+
declarations: [ComponentList],
33+
providers: [DocumentationItems, ComponentPageTitle],
34+
})
35+
export class ComponentListModule { }

src/app/pages/component-page-header/component-page-header.spec.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1-
import {async, TestBed, ComponentFixture} from '@angular/core/testing';
2-
import {MaterialModule} from '@angular/material';
3-
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
4-
5-
import {ComponentPageTitle} from '../page-title/page-title';
6-
import {ComponentPageHeader} from './component-page-header';
1+
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
2+
import {ComponentHeaderModule, ComponentPageHeader} from './component-page-header';
3+
import {DocsAppTestingModule} from '../../testing/testing-module';
74

85

96
describe('ComponentPageHeader', () => {
107
let fixture: ComponentFixture<ComponentPageHeader>;
118

129
beforeEach(async(() => {
1310
TestBed.configureTestingModule({
14-
imports: [MaterialModule],
15-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
16-
declarations: [ComponentPageHeader],
17-
providers: [ComponentPageTitle],
18-
});
11+
imports: [ComponentHeaderModule, DocsAppTestingModule],
12+
}).compileComponents();
13+
}));
1914

15+
beforeEach(() => {
2016
fixture = TestBed.createComponent(ComponentPageHeader);
21-
}));
17+
});
2218

2319
it('should return the title', () => {
2420
const component = fixture.componentInstance;

0 commit comments

Comments
 (0)