UNPKG

amos-ionic-logging

Version:
94 lines (69 loc) 2.5 kB
/* eslint-disable no-magic-numbers */ import { ComponentFixture, TestBed, waitForAsync } from "@angular/core/testing"; import { FormsModule } from "@angular/forms"; import { IonicModule } from "@ionic/angular"; import { LoggingService } from "ionic-logging-service"; import { LoggingViewerFilterService } from "../logging-viewer-filter.service"; import { LoggingViewerLevelsComponent } from "./logging-viewer-levels.component"; describe("LoggingViewerLevelsComponent", () => { let component: LoggingViewerLevelsComponent; let fixture: ComponentFixture<LoggingViewerLevelsComponent>; let loggingService: LoggingService; let loggingViewerFilterService: LoggingViewerFilterService; const loggerStub = jasmine.createSpyObj("logger", ["entry", "exit"]); const loggingServiceStub = jasmine.createSpyObj("loggingServiceStub", ["getLogger"]); loggingServiceStub.getLogger.and.returnValue(loggerStub); beforeEach(waitForAsync(() => { TestBed .configureTestingModule({ declarations: [ LoggingViewerLevelsComponent, ], imports: [ FormsModule, IonicModule, ], providers: [ { provide: LoggingService, useValue: loggingServiceStub }, LoggingViewerFilterService, ], }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(LoggingViewerLevelsComponent); component = fixture.componentInstance; loggingService = TestBed.inject(LoggingService); loggingViewerFilterService = TestBed.inject(LoggingViewerFilterService); }); describe("constructor", () => { it("gets correct named logger", () => { fixture.detectChanges(); expect(loggingServiceStub.getLogger).toHaveBeenCalledWith("Ionic.Logging.Viewer.Levels.Component"); }); }); describe("filterChangedSubscription", () => { it("event updates selected level", () => { fixture.detectChanges(); if (loggingViewerFilterService.level === "INFO") { loggingViewerFilterService.level = "DEBUG"; } else { loggingViewerFilterService.level = "INFO"; } expect(component.selectedLevel).toBe(loggingViewerFilterService.level); }); }); describe("onLevelChanged", () => { it("updates value in filter service", () => { fixture.detectChanges(); if (component.selectedLevel === "INFO") { component.selectedLevel = "DEBUG"; } else { component.selectedLevel = "INFO"; } component.onLevelChanged(); expect(loggingViewerFilterService.level).toBe(component.selectedLevel); }); }); });