Skip to content

Commit dab8326

Browse files
committed
fix unit test and linting issues
1 parent df0f98c commit dab8326

4 files changed

Lines changed: 60 additions & 40 deletions

File tree

src/app/app.component.html

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,33 @@
33
<mat-icon>menu</mat-icon>
44
</button>
55
<a routerLink="/" class="logo">
6-
<app-logo class = "logo-icon"></app-logo>
6+
<app-logo class="logo-icon"></app-logo>
77
</a>
8-
<div class = "title-container">
9-
<div class="tag-line">
10-
<div class="tag-title">
11-
{{ title || defaultTitle }}
8+
<div class="title-container">
9+
<div class="tag-line">
10+
<div class="tag-title">
11+
{{ title || defaultTitle }}
12+
</div>
13+
<div class="tag-subtitle" *ngIf="subtitle">
14+
{{ subtitle }}
15+
</div>
1216
</div>
13-
<div class="tag-subtitle" *ngIf="subtitle">
14-
{{ subtitle }}
15-
</div>
16-
</div>
1717
</div>
1818
<span class="spacer"></span>
1919
<a
20-
target="_blank"
21-
class="github-fork-ribbon"
22-
href="https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel"
23-
data-ribbon="Fork me on GitHub"
24-
title="Fork me on GitHub">
25-
Fork me on GitHub
26-
</a>
20+
target="_blank"
21+
class="github-fork-ribbon"
22+
href="https://github.com/devsecopsmaturitymodel/DevSecOps-MaturityModel"
23+
data-ribbon="Fork me on GitHub"
24+
title="Fork me on GitHub">
25+
Fork me on GitHub
26+
</a>
2727
</mat-toolbar>
2828
<mat-sidenav-container class="sidenav-container">
29-
<mat-sidenav
30-
mode="side"
31-
opened
32-
class="sidenav"
33-
[style.width]="sidenavWidth">
29+
<mat-sidenav mode="side" opened class="sidenav" [style.width]="sidenavWidth">
3430
<app-sidenav-buttons></app-sidenav-buttons>
3531
</mat-sidenav>
36-
<mat-sidenav-content
37-
class="content"
38-
[style.margin-left]="sidenavWidth">
32+
<mat-sidenav-content class="content" [style.margin-left]="sidenavWidth">
3933
<router-outlet></router-outlet>
4034
</mat-sidenav-content>
4135
</mat-sidenav-container>

src/app/app.component.spec.ts

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,46 @@
11
import { ComponentFixture, TestBed } from '@angular/core/testing';
2+
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
23
import { RouterTestingModule } from '@angular/router/testing';
34
import { AppComponent } from './app.component';
5+
import { MatToolbarModule } from '@angular/material/toolbar';
6+
import { MatIconModule } from '@angular/material/icon';
7+
import { MatSidenavModule } from '@angular/material/sidenav';
8+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
9+
import { of } from 'rxjs';
10+
import { ThemeService } from './service/theme.service';
11+
import { TitleService } from './service/title.service';
12+
13+
class MockThemeService {
14+
initTheme() {}
15+
}
16+
17+
class MockTitleService {
18+
titleInfo$ = of({
19+
dimension: 'Test Title',
20+
level: '1'
21+
});
22+
}
423

524
describe('AppComponent', () => {
25+
626
let app: AppComponent;
727
let fixture: ComponentFixture<AppComponent>;
828

929
beforeEach(async () => {
1030
await TestBed.configureTestingModule({
11-
imports: [RouterTestingModule],
1231
declarations: [AppComponent],
32+
imports: [
33+
RouterTestingModule,
34+
MatToolbarModule,
35+
MatIconModule,
36+
MatSidenavModule,
37+
BrowserAnimationsModule
38+
],
39+
providers: [
40+
{ provide: ThemeService, useClass: MockThemeService },
41+
{ provide: TitleService, useClass: MockTitleService }
42+
],
43+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
1344
}).compileComponents();
1445
});
1546

@@ -24,10 +55,9 @@ describe('AppComponent', () => {
2455
});
2556

2657
it('check for fork me on github ribbon generation', () => {
27-
const fixture = TestBed.createComponent(AppComponent);
28-
const HTMLElement: HTMLElement = fixture.nativeElement;
29-
var divTag = HTMLElement.querySelector('div')!;
30-
var aTag = divTag.querySelector('a')!;
31-
expect(aTag.textContent).toContain('GitHub');
58+
const compiled = fixture.nativeElement as HTMLElement;
59+
const githubLink = compiled.querySelector('.github-fork-ribbon');
60+
expect(githubLink).not.toBeNull();
61+
expect(githubLink?.textContent?.trim()).toBe('Fork me on GitHub');
3262
});
3363
});

src/app/app.component.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@ export class AppComponent implements OnInit, OnDestroy {
2626
if (menuState === 'false') {
2727
setTimeout(() => {
2828
this.menuIsOpen = false;
29-
this.sidenavWidth = '0px';
29+
this.sidenavWidth = '0px';
3030
}, 600);
31+
} else {
32+
this.sidenavWidth = '250px';
3133
}
32-
else {
33-
this.sidenavWidth = '250px';
34-
}
35-
3634

3735
// Subscribe to title changes
3836
this.titleService.titleInfo$.pipe(takeUntil(this.destroy$)).subscribe(titleInfo => {
@@ -48,8 +46,7 @@ export class AppComponent implements OnInit, OnDestroy {
4846

4947
toggleMenu(): void {
5048
this.menuIsOpen = !this.menuIsOpen;
51-
this.sidenavWidth = this.menuIsOpen ? '250px' : '0px';
49+
this.sidenavWidth = this.menuIsOpen ? '250px' : '0px';
5250
localStorage.setItem('state.menuIsOpen', this.menuIsOpen.toString());
5351
}
54-
5552
}

src/app/app.module.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
66
import { AppRoutingModule } from './app-routing.module';
77
import { AppComponent } from './app.component';
88
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
9-
import { MaterialModule } from
10-
'./material/material.module';
9+
import { MaterialModule } from './material/material.module';
1110
import { CircularHeatmapComponent } from './pages/circular-heatmap/circular-heatmap.component';
1211
import { MatrixComponent } from './pages/matrix/matrix.component';
1312
import { MappingComponent } from './pages/mapping/mapping.component';
@@ -77,4 +76,4 @@ import { TeamsGroupsEditorModule } from './component/teams-groups-editor/teams-g
7776
],
7877
bootstrap: [AppComponent],
7978
})
80-
export class AppModule {}
79+
export class AppModule {}

0 commit comments

Comments
 (0)