fix tests

This commit is contained in:
jliddev
2020-11-25 16:05:15 -06:00
parent e30151e6a6
commit 86ab3a67ad
5 changed files with 72 additions and 39 deletions

View File

@@ -1,18 +1,44 @@
import { HttpClientModule } from "@angular/common/http";
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { AddonService } from "../../services/addons/addon.service";
import { WowUpService } from "../../services/wowup/wowup.service";
import { createTranslateModule } from "../../utils/test.utils";
import { OptionsAddonSectionComponent } from "./options-addon-section.component";
describe("OptionsAddonSectionComponent", () => {
let component: OptionsAddonSectionComponent;
let fixture: ComponentFixture<OptionsAddonSectionComponent>;
let wowUpServiceSpy: any;
let addonServiceSpy: any;
beforeEach(async () => {
addonServiceSpy = jasmine.createSpyObj("AddonService", [""], {
getAddonProviderStates: () => [],
});
wowUpServiceSpy = jasmine.createSpyObj("WowUpService", [""], {
collapseToTray: false,
useHardwareAcceleration: false,
startWithSystem: false,
startMinimized: false,
currentLanguage: false,
});
await TestBed.configureTestingModule({
declarations: [OptionsAddonSectionComponent],
}).compileComponents();
});
imports: [HttpClientModule, createTranslateModule()],
})
.overrideComponent(OptionsAddonSectionComponent, {
set: {
providers: [
{ provide: AddonService, useValue: addonServiceSpy },
{ provide: WowUpService, useValue: wowUpServiceSpy },
],
},
})
.compileComponents();
beforeEach(() => {
fixture = TestBed.createComponent(OptionsAddonSectionComponent);
component = fixture.componentInstance;
fixture.detectChanges();

View File

@@ -9,10 +9,10 @@ import { SessionService } from "../../services/session/session.service";
import { WowUpService } from "../../services/wowup/wowup.service";
import { ElectronService } from "../../services";
import { OptionsAppSectionComponent } from "./options-app-section.component";
import { httpLoaderFactory } from "../../app.module";
import { BehaviorSubject } from "rxjs";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { MatModule } from "../../mat-module";
import { createTranslateModule } from "../../utils/test.utils";
describe("OptionsAppSectionComponent", () => {
let component: OptionsAppSectionComponent;
@@ -30,11 +30,11 @@ describe("OptionsAppSectionComponent", () => {
beforeEach(async () => {
analyticsServiceSpy = jasmine.createSpyObj("AnalyticsService", [""], {
telemetryEnabled$: new BehaviorSubject(false).asObservable()
telemetryEnabled$: new BehaviorSubject(false).asObservable(),
});
electronServiceSpy = jasmine.createSpyObj("ElectronService", [""], {
isWin : false,
isLinux : true,
isWin: false,
isLinux: true,
isMac: false,
});
wowUpServiceSpy = jasmine.createSpyObj("WowUpService", [""], {
@@ -47,37 +47,22 @@ describe("OptionsAppSectionComponent", () => {
await TestBed.configureTestingModule({
declarations: [OptionsAppSectionComponent],
providers: [
MatDialog,
ElectronService,
],
imports: [
HttpClientModule,
MatModule,
BrowserAnimationsModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: httpLoaderFactory,
deps: [HttpClient],
},
compiler: {
provide: TranslateCompiler,
useClass: TranslateMessageFormatCompiler,
},
})
],
}).overrideComponent(OptionsAppSectionComponent, {
set: {
providers: [
MatDialog,
{ provide: ElectronService, useValue: electronServiceSpy },
{ provide: WowUpService, useValue: wowUpServiceSpy },
{ provide: SessionService, useValue: sessionServiceSpy },
{ provide: FileService, useValue: fileServiceSpy },
{ provide: AnalyticsService, useValue: analyticsServiceSpy },
]},
}).compileComponents();
providers: [MatDialog, ElectronService],
imports: [HttpClientModule, MatModule, BrowserAnimationsModule, createTranslateModule()],
})
.overrideComponent(OptionsAppSectionComponent, {
set: {
providers: [
MatDialog,
{ provide: ElectronService, useValue: electronServiceSpy },
{ provide: WowUpService, useValue: wowUpServiceSpy },
{ provide: SessionService, useValue: sessionServiceSpy },
{ provide: FileService, useValue: fileServiceSpy },
{ provide: AnalyticsService, useValue: analyticsServiceSpy },
],
},
})
.compileComponents();
fixture = TestBed.createComponent(OptionsAppSectionComponent);
component = fixture.componentInstance;

View File

@@ -1,5 +1,5 @@
import { Injectable } from "@angular/core";
import { AddonProviderState } from "app/models/wowup/addon-provider-state";
import { AddonProviderState } from "../../models/wowup/addon-provider-state";
import { AddonDependency } from "../../models/wowup/addon-dependency";
import { AddonDependencyType } from "../../models/wowup/addon-dependency-type";
import { AddonSearchResultDependency } from "../../models/wowup/addon-search-result-dependency";

View File

@@ -0,0 +1,22 @@
import { HttpClient } from "@angular/common/http";
import { TranslateCompiler, TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { TranslateHttpLoader } from "@ngx-translate/http-loader";
import { TranslateMessageFormatCompiler } from "ngx-translate-messageformat-compiler";
export function testHttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
return new TranslateHttpLoader(http, "./assets/i18n/", ".json");
}
export function createTranslateModule() {
return TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: testHttpLoaderFactory,
deps: [HttpClient],
},
compiler: {
provide: TranslateCompiler,
useClass: TranslateMessageFormatCompiler,
},
});
}

View File