mirror of
https://github.com/WowUp/WowUp.git
synced 2026-04-23 15:27:03 -04:00
fix tests
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
22
wowup-electron/src/app/utils/test.utils.ts
Normal file
22
wowup-electron/src/app/utils/test.utils.ts
Normal 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,
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user