<commit_before>import { TestBed, getTestBed } from '@angular/core/testing';
import { provideRoutes } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';

import { ApiService } from './shared';
import { AppComponent } from './app.component';
import { TranslateModule } from 'ng2-translate';

import {
  MdlLayoutModule,
  MdlRippleModule,
} from 'angular2-mdl';

import {
  AuthService,
  StorageService,
  ErrorService
} from './shared/services';

import { MockNotificationService } from './shared/notification.service';

import { Injector } from '@angular/core';
import { ServiceLocator } from './shared/services/service-locator';
import { LogoutComponent } from './auth/logout.component';

describe('App', () => {
  // provide our implementations or mocks to the dependency injector
  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [
        RouterTestingModule,
        TranslateModule.forRoot(),
        MdlRippleModule,
        MdlLayoutModule
      ],
      declarations: [
        AppComponent,
        LogoutComponent
      ],
      providers: [
        ApiService,
        AuthService,
        ErrorService,
        Injector,
        { provide: 'IStorageService', useClass: StorageService },
        { provide: 'INotificationService', useClass: MockNotificationService },
        ServiceLocator,
        provideRoutes([])]
    });

    ServiceLocator.injector = getTestBed().get(Injector);
  });

  it('should have an url', () => {
    let fixture = TestBed.createComponent(AppComponent);
    fixture.detectChanges();<commit_msg>#2788 app component tests fixed<commit_after>import { TestBed, getTestBed } from '@angular/core/testing';
import { provideRoutes } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';

import { ApiService } from './shared';
import { AppComponent } from './app.component';
import { TranslateModule } from 'ng2-translate';

import { MdlModule } from 'angular2-mdl';
import { MdlPopoverModule } from '@angular2-mdl-ext/popover';

import {
  AuthService,
  StorageService,
  ErrorService
} from './shared/services';

import { MockNotificationService } from './shared/notification.service';

import { Injector } from '@angular/core';
import { ServiceLocator } from './shared/services/service-locator';
import { LogoutComponent } from './auth/logout.component';
import { NotificationBoxComponent } from './notification-box.component';
import { NotificationBoxItemComponent } from './notification-box-item.component';

describe('App', () => {
  // provide our implementations or mocks to the dependency injector
  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [
        RouterTestingModule,
        TranslateModule.forRoot(),
        MdlModule,
        MdlPopoverModule
      ],
      declarations: [
        AppComponent,
        LogoutComponent,
        NotificationBoxComponent,
        NotificationBoxItemComponent
      ],
      providers: [
        ApiService,
        AuthService,
        ErrorService,
        Injector,
        { provide: 'IStorageService', useClass: StorageService },
        { provide: 'INotificationService', useClass: MockNotificationService },
        ServiceLocator,
        provideRoutes([])]
    });

    ServiceLocator.injector = getTestBed().get(Injector);
  });

  it('should have an url', () => {
    let fixture = TestBed.createComponent(AppComponent);
    fixture.detectChanges();
{'fraction_non_alphanumeric': 0.12139561707035755, 'fraction_numerical': 0.0025951557093425604, 'mean_word_length': 3.4360613810741687, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5976082', 'n_tokens_mistral': 959, 'n_tokens_neox': 944, 'n_words': 210}