Fixed addon-install-button.component.spec.ts

This commit is contained in:
Lynn
2020-11-23 00:06:15 +01:00
parent 4fd067ae9b
commit e055bca4a8
3 changed files with 55 additions and 2 deletions

View File

@@ -1,19 +1,67 @@
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { TranslateCompiler, TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { HttpClient, HttpClientModule } from "@angular/common/http";
import { TranslateMessageFormatCompiler } from "ngx-translate-messageformat-compiler";
import { AddonInstallButtonComponent } from "./addon-install-button.component";
import { AddonService } from "../../services/addons/addon.service";
import { SessionService } from "../../services/session/session.service";
import { httpLoaderFactory } from "../../app.module";
import { AddonSearchResult } from "../../models/wowup/addon-search-result";
import { WowClientType } from "../../models/warcraft/wow-client-type";
import { Subject } from "rxjs";
import { AddonUpdateEvent } from "../../models/wowup/addon-update-event";
describe("AddonInstallButtonComponent", () => {
let component: AddonInstallButtonComponent;
let fixture: ComponentFixture<AddonInstallButtonComponent>;
let addonService: AddonService;
let addonServiceSpy: any;
let sessionService: SessionService;
let sessionServiceSpy: any;
beforeEach(async () => {
addonServiceSpy = jasmine.createSpyObj("AddonService", {
isInstalled: () => false,
}, {
addonInstalled$ : new Subject<AddonUpdateEvent>().asObservable(),
});
sessionServiceSpy = jasmine.createSpyObj("SessionService", [""], {
selectedClientType: WowClientType.Retail,
});
await TestBed.configureTestingModule({
declarations: [AddonInstallButtonComponent],
imports: [
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: httpLoaderFactory,
deps: [HttpClient],
},
compiler: {
provide: TranslateCompiler,
useClass: TranslateMessageFormatCompiler,
},
})
],
}).overrideComponent(AddonInstallButtonComponent, {
set: {
providers: [
{ provide: AddonService, useValue: addonServiceSpy },
{ provide: SessionService, useValue: sessionServiceSpy },
]},
}).compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(AddonInstallButtonComponent);
component = fixture.componentInstance;
addonService = fixture.debugElement.injector.get(AddonService);
sessionService = fixture.debugElement.injector.get(SessionService);
component.addonSearchResult = {
externalId: "123123",
} as AddonSearchResult;
fixture.detectChanges();
});

View File

@@ -39,6 +39,9 @@ describe("HomeComponent", () => {
isLinux : true,
isMax: false,
});
wowUpServiceSpy = jasmine.createSpyObj("WowUpService", {
checkForAppUpdate : async () => null,
})
await TestBed.configureTestingModule({
declarations: [HomeComponent],

View File

@@ -6,6 +6,7 @@ import { HttpClient, HttpClientModule } from "@angular/common/http";
import { TranslateCompiler, TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { httpLoaderFactory } from "../../app.module";
import { TranslateMessageFormatCompiler } from "ngx-translate-messageformat-compiler";
import { CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
describe("OptionsComponent", () => {
let component: OptionsComponent;
@@ -40,6 +41,7 @@ describe("OptionsComponent", () => {
useClass: TranslateMessageFormatCompiler,
},
})],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
}).overrideComponent(OptionsComponent, {
set: {
providers: [