blob: 69ad8492f1f14905c488125dcede6d7d17dbfbbc [file] [log] [blame]
/* 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 );
});
});