| /* tslint:disable:no-unused-variable */ |
| import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
| import { By } from '@angular/platform-browser'; |
| import { DebugElement } from '@angular/core'; |
| |
| import { AbstractMockObservableService } from '../../common/abstract-mock-observable.service'; |
| import { VersionInfoComponent } from './version-info.component'; |
| import { VersionInfo } from '../../model/version-info'; |
| import { VersionInfoService } from '../../services/version-info.service'; |
| import { Globals } from '../../common/globals'; |
| |
| |
| describe('VersionInfoComponent', () => { |
| let component: VersionInfoComponent; |
| let fixture: ComponentFixture<VersionInfoComponent>; |
| let de: DebugElement; // the DebugElement with the welcome message |
| let el: HTMLElement; // the DOM element with the welcome message |
| class MockBtbService extends AbstractMockObservableService { |
| loadBackendServerInfo() { |
| return this; |
| } |
| } |
| let mockService; |
| |
| beforeEach(async(() => { |
| mockService = new MockBtbService(); |
| |
| TestBed.configureTestingModule({ |
| declarations: [ VersionInfoComponent ], |
| providers: [ { provide: VersionInfoService, useValue: mockService } ], |
| }) |
| .compileComponents(); |
| })); |
| |
| beforeEach(() => { |
| fixture = TestBed.createComponent(VersionInfoComponent); |
| component = fixture.componentInstance; |
| |
| }); |
| |
| it('should show VersionString after loadBackendServerInfo', () => { |
| const vinfo = { frontendVersion: 'AVersion', backendVersion: '1.0', dbVersion: '2.0' }; |
| mockService.content = vinfo; |
| de = fixture.debugElement.query( By.css('.version-info')); |
| el = de.nativeElement; |
| |
| fixture.detectChanges(); |
| |
| const targetString = Globals.FRONTEND_VERSION + ' / ' + vinfo.backendVersion + ' / ' + vinfo.dbVersion; |
| expect(el.textContent).toContain( targetString ); |
| }); |
| |
| it('should show ??? while not init', () => { |
| mockService.error = 'any Error'; |
| de = fixture.debugElement.query( By.css('.version-info')); |
| el = de.nativeElement; |
| |
| fixture.detectChanges(); |
| |
| const targetString = '? / ? / ?'; |
| expect(el.textContent).toContain( targetString ); |
| }); |
| |
| |
| }); |