Skip to content

Commit 7d9d014

Browse files
committed
Refactored and fixed reloading bug during development
1 parent 6f20c70 commit 7d9d014

Some content is hidden

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

53 files changed

+473
-244
lines changed

WebApp.Tests.Integration/WebApp.Tests.Integration.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0-preview-20170106-08" />
20-
<PackageReference Include="NUnit" Version="3.6.0" />
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
2120
<PackageReference Include="dotnet-test-nunit" Version="3.4.0-beta-3" />
2221
<PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
23-
<PackageReference Include="moq" Version="4.6.38-alpha" />
22+
<PackageReference Include="moq" Version="4.7.1" />
2423
<PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
2524
<PackageReference Include="xunit" Version="2.2.0" />
2625
<PackageReference Include="dotnet-test-xunit" Version="2.2.0-preview2-build1029" />

WebApp.Tests/WebApp.Tests.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0-preview-20170106-08" />
20-
<PackageReference Include="NUnit" Version="3.6.0" />
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
2120
<PackageReference Include="dotnet-test-nunit" Version="3.4.0-beta-3" />
2221
<PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
23-
<PackageReference Include="moq" Version="4.6.38-alpha" />
22+
<PackageReference Include="moq" Version="4.7.1" />
2423
<PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
2524
<PackageReference Include="xunit" Version="2.2.0" />
2625
<PackageReference Include="dotnet-test-xunit" Version="2.2.0-preview2-build1029" />

WebApp/ClientApp/app/app.module.ts

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { RouterModule } from '@angular/router';
33
import { BrowserModule } from '@angular/platform-browser';
44
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
55
import { HttpModule, JsonpModule } from '@angular/http';
6-
import { LocalStorageModule } from 'angular-2-local-storage';
6+
import { LocalStorageModule, ILocalStorageServiceConfig } from 'angular-2-local-storage';
77
import { FormsModule } from '@angular/forms';
88
import { LocalizationModule } from 'angular-l10n';
99

@@ -12,17 +12,13 @@ import { ContactModule } from './modules/contact/contact.module';
1212
import { NavigationModule } from './modules/navigation/navigation.module';
1313
import { NewsRoomModule } from './modules/newsroom/newsroom.module';
1414

15+
import { SharedModule } from './modules/shared/shared.module';
1516
import { AppComponent } from './components/app/app.component';
1617
import { HomeComponent } from './components/home/home.component';
1718

18-
import { HttpErrorHandlerService } from './services/httpErrorHandler.service';
19-
import { HttpOptionsService } from './services/httpOptions.service';
20-
import { AuthService } from './services/auth.service';
21-
import { AuthGuardService } from './services/authGuard.service';
22-
import { CanDeactivateGuardService } from './services/canDeactivateGuard.service';
23-
import { AccountService } from './services/account.service';
24-
import { LoggerService } from './services/logger.service';
25-
import { LoaderService } from './services/loader.service';
19+
import { AuthGuardService } from './modules/shared/services/authGuard.service';
20+
import { CanDeactivateGuardService } from './modules/shared/services/canDeactivateGuard.service';
21+
2622

2723
@NgModule({
2824
bootstrap: [AppComponent],
@@ -33,10 +29,6 @@ import { LoaderService } from './services/loader.service';
3329
imports: [
3430
// Angular Modules
3531
BrowserModule,
36-
BrowserAnimationsModule,
37-
HttpModule,
38-
JsonpModule,
39-
FormsModule,
4032
RouterModule.forRoot([
4133
{
4234
path: 'home',
@@ -56,20 +48,13 @@ import { LoaderService } from './services/loader.service';
5648
}),
5749
LocalizationModule.forRoot(),
5850
// My Modules
51+
SharedModule,
5952
AdminModule,
6053
ContactModule,
6154
NavigationModule,
6255
NewsRoomModule
6356
],
6457
providers: [
65-
HttpErrorHandlerService,
66-
HttpOptionsService,
67-
AuthGuardService,
68-
CanDeactivateGuardService,
69-
AuthService,
70-
AccountService,
71-
LoggerService,
72-
LoaderService
7358
]
7459
})
7560
export class AppModule {}

WebApp/ClientApp/app/components/app/app.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Component, OnChanges, OnInit, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy, EventEmitter, Input, Output } from '@angular/core';
22
import { Localization, LocaleService, TranslationService } from 'angular-l10n';
3-
import { LoaderService } from '../../services/loader.service';
4-
import { LoggerService } from '../../services/logger.service';
3+
import { LoaderService } from '../../modules/shared/services/loader.service';
4+
import { LoggerService } from '../../modules/shared/services/logger.service';
55

66
@Component({
77
selector: 'app',

WebApp/ClientApp/app/components/home/home.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Component, OnChanges, OnInit, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy, EventEmitter, Input, Output } from '@angular/core';
22
import { Localization, LocaleService, TranslationService } from 'angular-l10n';
3-
import { AccountService } from '../../services/account.service';
4-
import { AuthService } from '../../services/auth.service';
5-
import { LoggerService } from '../../services/logger.service';
3+
import { AccountService } from '../../modules/shared/services/account.service';
4+
import { AuthService } from '../../modules/shared/services/auth.service';
5+
import { LoggerService } from '../../modules/shared/services/logger.service';
66

77
@Component({
88
selector: 'home',

WebApp/ClientApp/app/main.spec.ts

Lines changed: 55 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,19 @@ import { LocalStorageModule, LocalStorageService } from 'angular-2-local-storage
1212
//import { DebugElement } from "@angular/core";
1313
//import { MockBackend, MockConnection } from '@angular/http/testing';
1414

15-
import { HttpErrorHandlerService } from './services/httpErrorHandler.service';
16-
import { HttpOptionsService } from './services/httpOptions.service';
17-
import { AuthGuardService } from './services/authGuard.service';
18-
import { CanDeactivateGuardService } from './services/canDeactivateGuard.service';
15+
import { SharedModule } from './modules/shared/shared.module';
1916

20-
import { AccountService } from './services/account.service';
21-
import { AuthService } from './services/auth.service';
22-
import { LoggerService } from './services/logger.service';
23-
import { LoaderService } from './services/loader.service';
17+
import { HttpErrorHandlerService } from './modules/shared/services/httpErrorHandler.service';
18+
import { HttpOptionsService } from './modules/shared/services/httpOptions.service';
19+
import { AuthGuardService } from './modules/shared/services/authGuard.service';
20+
import { CanDeactivateGuardService } from './modules/shared/services/canDeactivateGuard.service';
21+
22+
import { AccountService } from './modules/shared/services/account.service';
23+
import { AuthService } from './modules/shared/services/auth.service';
24+
import { LoggerService } from './modules/shared/services/logger.service';
25+
import { LoaderService } from './modules/shared/services/loader.service';
26+
27+
import { FilterPipe } from './modules/shared/pipes/filter.pipe';
2428

2529
export class MainSpec {
2630
fixture: any;
@@ -30,6 +34,45 @@ export class MainSpec {
3034
constructor() { }
3135

3236
init(component, additionalDeclarations, additionalImports, additionalProviders): void {
37+
if (!additionalImports) {
38+
additionalImports = [];
39+
}
40+
additionalImports.push(SharedModule);
41+
42+
this.initWithoutSharedModule(component, additionalDeclarations, additionalImports, additionalProviders);
43+
}
44+
45+
initForSharedComponents(component, additionalDeclarations, additionalImports, additionalProviders): void {
46+
if (!additionalDeclarations) {
47+
additionalDeclarations = [];
48+
}
49+
additionalDeclarations = additionalDeclarations.concat([FilterPipe]);
50+
51+
if (!additionalImports) {
52+
additionalImports = [];
53+
}
54+
additionalImports = additionalImports.concat([]);
55+
56+
if (!additionalProviders) {
57+
additionalProviders = [];
58+
}
59+
additionalProviders = additionalProviders.concat(
60+
[
61+
HttpErrorHandlerService,
62+
HttpOptionsService,
63+
AuthGuardService,
64+
CanDeactivateGuardService,
65+
AuthService,
66+
AccountService,
67+
LoggerService,
68+
LoaderService
69+
]
70+
);
71+
72+
this.initWithoutSharedModule(component, additionalDeclarations, additionalImports, additionalProviders);
73+
}
74+
75+
private initWithoutSharedModule(component, additionalDeclarations, additionalImports, additionalProviders): void {
3376
console.info('Initalizing Tests for', component.name);
3477
let declarations = [component];
3578

@@ -48,37 +91,23 @@ export class MainSpec {
4891
];
4992

5093
let providers = [
51-
{ provide: APP_BASE_HREF, useValue: '/' },
52-
HttpErrorHandlerService,
53-
HttpOptionsService,
54-
AuthGuardService,
55-
CanDeactivateGuardService,
56-
AccountService,
57-
AuthService,
58-
LoaderService,
59-
LoggerService
94+
{ provide: APP_BASE_HREF, useValue: '/' }
6095
];
6196

6297
//console.info('additionalDeclarations', additionalDeclarations);
6398
//console.info('additionalImports', additionalImports);
6499
//console.info('additionalProviders', additionalProviders);
65100

66101
if (additionalDeclarations) {
67-
for (let ad of additionalDeclarations) {
68-
declarations.push(ad);
69-
}
102+
declarations = declarations.concat(additionalDeclarations);
70103
}
71104

72105
if (additionalImports) {
73-
for (let ai of additionalImports) {
74-
imports.push(ai);
75-
}
106+
imports = imports.concat(additionalImports);
76107
}
77108

78109
if (additionalProviders) {
79-
for (let ap of additionalProviders) {
80-
providers.push(ap);
81-
}
110+
providers = providers.concat(additionalProviders);
82111
}
83112

84113
TestBed.configureTestingModule({
Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
11
import { NgModule } from '@angular/core';
22
import { RouterModule } from '@angular/router';
3-
import { BrowserModule } from '@angular/platform-browser';
4-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5-
import { HttpModule, JsonpModule } from '@angular/http';
6-
import { FormsModule } from '@angular/forms';
3+
import { CommonModule } from '@angular/common';
74
import { LocalizationModule } from 'angular-l10n';
85

9-
import { AdminComponent } from './admin/admin.component';
6+
import { AuthGuardService } from '../shared/services/authGuard.service';
7+
import { CanDeactivateGuardService } from '../shared/services/canDeactivateGuard.service';
8+
9+
import { SharedModule } from '../shared/shared.module';
1010

11-
import { AuthGuardService } from '../../services/authGuard.service';
12-
import { CanDeactivateGuardService } from '../../services/canDeactivateGuard.service';
11+
import { AdminComponent } from './admin/admin.component';
1312

1413
@NgModule({
1514
declarations: [
1615
AdminComponent
1716
],
1817
imports: [
1918
// Angular Modules
20-
//UniversalModule, // Must be first import. This automatically imports BrowserModule, HttpModule, and JsonpModule too.
21-
BrowserModule,
22-
BrowserAnimationsModule,
23-
HttpModule,
24-
JsonpModule,
25-
FormsModule,
19+
CommonModule,
2620
RouterModule.forChild([
2721
{
2822
path: 'admin',
@@ -34,12 +28,13 @@ import { CanDeactivateGuardService } from '../../services/canDeactivateGuard.ser
3428
children: []
3529
}
3630
]),
37-
LocalizationModule.forChild()
31+
LocalizationModule.forChild(),
3832
// My Modules
33+
SharedModule
3934
],
4035
exports: [AdminComponent],
4136
providers: [
4237
]
4338
})
4439
export class AdminModule {
45-
}
40+
}

WebApp/ClientApp/app/modules/admin/admin/admin.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnChanges, OnInit, DoCheck, OnDestroy, EventEmitter, Input, Output } from '@angular/core';
22
import { Localization, LocaleService, TranslationService } from 'angular-l10n';
3-
import { LoggerService } from '../../../services/logger.service';
3+
import { LoggerService } from '../../shared/services/logger.service';
44

55
@Component({
66
selector: 'admin',
@@ -23,10 +23,7 @@ export class AdminComponent extends Localization implements OnChanges, OnInit, D
2323
ngOnDestroy(): void { }
2424

2525
canDeactivate(): Promise<boolean> | boolean {
26-
// Allow synchronous navigation (`true`) if no crisis or the crisis is unchanged
2726
this.logger.debug(`AdminComponent-canDeactivate`);
28-
// Otherwise ask the user with the dialog service and return its
29-
// promise which resolves to true or false when the user decides
3027
return true;
3128
}
3229
}
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
import { NgModule } from '@angular/core';
22
import { RouterModule } from '@angular/router';
3-
import { BrowserModule } from '@angular/platform-browser';
4-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5-
import { HttpModule, JsonpModule } from '@angular/http';
6-
import { FormsModule } from '@angular/forms';
3+
import { CommonModule } from '@angular/common';
74
import { LocalizationModule } from 'angular-l10n';
8-
import { ContactComponent } from './contact/contact.component';
95

10-
import { AuthGuardService } from '../../services/authGuard.service';
11-
import { CanDeactivateGuardService } from '../../services/canDeactivateGuard.service';
6+
import { AuthGuardService } from '../shared/services/authGuard.service';
7+
import { CanDeactivateGuardService } from '../shared/services/canDeactivateGuard.service';
8+
9+
import { SharedModule } from '../shared/shared.module';
10+
11+
import { ContactComponent } from './contact/contact.component';
1212

1313
@NgModule({
1414
declarations: [
1515
ContactComponent
1616
],
1717
imports: [
1818
// Angular Modules
19-
BrowserModule,
20-
BrowserAnimationsModule,
21-
HttpModule,
22-
JsonpModule,
23-
FormsModule,
19+
CommonModule,
2420
RouterModule.forChild([
2521
{
2622
path: 'contact',
@@ -32,12 +28,13 @@ import { CanDeactivateGuardService } from '../../services/canDeactivateGuard.ser
3228
children: []
3329
}
3430
]),
35-
LocalizationModule.forChild()
31+
LocalizationModule.forChild(),
3632
// My Modules
33+
SharedModule
3734
],
3835
exports: [ContactComponent],
3936
providers: [
4037
]
4138
})
4239
export class ContactModule {
43-
}
40+
}

WebApp/ClientApp/app/modules/contact/contact/contact.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnChanges, OnInit, DoCheck, OnDestroy, EventEmitter, Input, Output } from '@angular/core';
22
import { Localization, LocaleService, TranslationService } from 'angular-l10n';
3-
import { LoggerService } from '../../../services/logger.service';
3+
import { LoggerService } from '../../shared/services/logger.service';
44

55
@Component({
66
selector: 'contact',
@@ -23,10 +23,7 @@ export class ContactComponent extends Localization implements OnChanges, OnInit,
2323
ngOnDestroy(): void { }
2424

2525
canDeactivate(): Promise<boolean> | boolean {
26-
// Allow synchronous navigation (`true`) if no crisis or the crisis is unchanged
2726
this.logger.debug(`ContactComponent-canDeactivate`);
28-
// Otherwise ask the user with the dialog service and return its
29-
// promise which resolves to true or false when the user decides
3027
return true;
3128
}
3229
}

0 commit comments

Comments
 (0)