message: Add unit tests for welcome component
diff: import { TranslateModule } from '@ngx-translate/core'
  import { HttpClientTestingModule } from '@angular/common/http/testing'
  -import { MatDialog } from '@angular/material/dialog'
  +import { MatDialog, MatDialogModule } from '@angular/material/dialog'
  import { CookieService } from 'ngx-cookie-service'
  -import { async, ComponentFixture, TestBed } from '@angular/core/testing'
  +import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'
  import { WelcomeComponent } from './welcome.component'
  +import { of } from "rxjs";
  +import { ConfigurationService } from "../Services/configuration.service";
  -describe('WelcomeComponent', () => {
  +fdescribe('WelcomeComponent', () => {
  let component: WelcomeComponent
  + let configurationService: any
  let cookieService: any
  let fixture: ComponentFixture<WelcomeComponent>
  + let dialog: any
  beforeEach(async(() => {
  + configurationService = jasmine.createSpyObj('ConfigurationService',['getApplicationConfiguration'])
  + configurationService.getApplicationConfiguration.and.returnValue(of({ application: { } }))
  + dialog = jasmine.createSpyObj('MatDialog',['open'])
  + dialog.open.and.returnValue(null)
  +
  TestBed.configureTestingModule({
  imports: [
  TranslateModule.forRoot(),
  - HttpClientTestingModule
  + HttpClientTestingModule,
  + MatDialogModule
  ],
  declarations: [WelcomeComponent],
  providers: [
  - { provide: MatDialog, useValue: {} },
  + { provide: ConfigurationService, useValue: configurationService },
  + { provide: MatDialog, useValue: dialog },
  CookieService
  ]
  })
  @@ -37,10 +48,28 @@ describe('WelcomeComponent', () => {
  beforeEach(() => {
  fixture = TestBed.createComponent(WelcomeComponent)
  component = fixture.componentInstance
  - fixture.detectChanges()
  })
  it('should create', () => {
  expect(component).toBeTruthy()
  })
  +
  + it('should open the welcome banner dialog if configured to show on start' , () => {
  + configurationService.getApplicationConfiguration.and.returnValue(of({ application: { welcomeBanner: { showOnFirstStart: true } } }))
  + component.ngOnInit()
  + expect(dialog.open).toHaveBeenCalled()
  + })
  +
  + it('should not open the welcome banner dialog if configured to not show on start' , () => {
  + configurationService.getApplicationConfiguration.and.returnValue(of({ application: { welcomeBanner: { showOnFirstStart: false } } }))
  + component.ngOnInit()
  + expect(dialog.open).not.toHaveBeenCalled()
  + })
  +
  + it('should not open the welcome banner dialog if previously dismissed' , () => {
  + configurationService.getApplicationConfiguration.and.returnValue(of({ application: { welcomeBanner: { showOnFirstStart: true } } }))
  + cookieService.set('welcomebanner_status', 'dismiss')
  + component.ngOnInit()
  + expect(dialog.open).not.toHaveBeenCalled()
  + })
  })
  