Skip to content
This repository was archived by the owner on Aug 26, 2021. It is now read-only.

Commit 60fa4fd

Browse files
committed
chore: fix NgProgress calls
1 parent 0430677 commit 60fa4fd

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

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

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,17 @@ class PagesServiceStub {
1212
fetchPage(_page: Page) { return of('FAKE_BODY'); }
1313
}
1414

15-
class NgProgressStub {
15+
class NgProgressRef {
1616
start() { }
1717
complete() { }
1818
}
1919

20+
const progressRef = new NgProgressRef();
21+
22+
class NgProgressStub {
23+
ref() { return progressRef; }
24+
}
25+
2026
describe('PageComponent', () => {
2127
let component: PageComponent;
2228
let fixture: ComponentFixture<PageComponent>;
@@ -62,6 +68,14 @@ describe('PageComponent', () => {
6268
expect(alert.classList.contains('alert-danger')).toBe(true);
6369
});
6470

71+
describe('#onInit()', () => {
72+
it('should capture NgProgressRef', () => {
73+
const spy = spyOn(TestBed.get(NgProgress), 'ref');
74+
component.ngOnInit();
75+
expect(spy).toHaveBeenCalled();
76+
});
77+
});
78+
6579
describe('#set page()', () => {
6680
let mockPage: Page;
6781
let pagesService: PagesService;
@@ -78,9 +92,8 @@ describe('PageComponent', () => {
7892
});
7993

8094
it('should start & stop the progress ', fakeAsync(() => {
81-
const progress = TestBed.get(NgProgress);
82-
const startSpy = spyOn(progress, 'start');
83-
const completeSpy = spyOn(progress, 'complete');
95+
const startSpy = spyOn(progressRef, 'start');
96+
const completeSpy = spyOn(progressRef, 'complete');
8497

8598
component.page = mockPage;
8699
expect(startSpy).toHaveBeenCalled();

src/app/pages/page/page.component.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
1-
import { Component, Input } from '@angular/core';
1+
import { Component, Input, OnInit } from '@angular/core';
22
import { Page } from '../models/page';
33
import { PagesService } from '../pages.service';
4-
import { NgProgress } from '@ngx-progressbar/core';
4+
import { NgProgress, NgProgressRef } from '@ngx-progressbar/core';
55

66
@Component({
77
selector: 'ando-page',
88
templateUrl: './page.component.html',
99
styleUrls: ['./page.component.css']
1010
})
11-
export class PageComponent {
11+
export class PageComponent implements OnInit {
1212

1313
@Input()
1414
set page(page: Page) {
15-
this.progress.start();
15+
this.progressRef.start();
1616
this.pagesService.fetchPage(page)
1717
.subscribe(
1818
body => this.body = body,
1919
error => this.error = error,
20-
this.progress.complete.bind(this.progress)
20+
() => this.progressRef.complete(),
2121
);
2222
}
2323

24+
private progressRef: NgProgressRef;
2425
body: string | undefined;
2526
error: string | undefined;
2627

@@ -29,4 +30,8 @@ export class PageComponent {
2930
private progress: NgProgress
3031
) { }
3132

33+
ngOnInit() {
34+
this.progressRef = this.progress.ref();
35+
}
36+
3237
}

0 commit comments

Comments
 (0)