amos-ionic-logging
Version:
Components for Ionic logging
99 lines (67 loc) • 2.31 kB
text/typescript
/* eslint-disable no-magic-numbers */
import { getTestBed, TestBed } from "@angular/core/testing";
import { LoggingService } from "ionic-logging-service";
import { LoggingViewerFilterService } from "./logging-viewer-filter.service";
describe("LoggingViewerFilterService", () => {
let loggingViewerFilterService: LoggingViewerFilterService;
const loggerStub = jasmine.createSpyObj("logger", ["entry", "exit"]);
const loggingServiceStub = jasmine.createSpyObj("loggingServiceStub",
["getLogger"]);
loggingServiceStub.getLogger.and.returnValue(loggerStub);
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
{ provide: LoggingService, useValue: loggingServiceStub },
LoggingViewerFilterService,
],
});
loggingViewerFilterService = TestBed.inject(LoggingViewerFilterService);
});
describe("ctor()", () => {
it("gets correct named logger", () => {
expect(loggingServiceStub.getLogger).toHaveBeenCalledWith("Ionic.Logging.Viewer.Filter.Service");
});
});
describe("level", () => {
describe("get", () => {
it("return DEBUG as default", () => {
expect(loggingViewerFilterService.level).toBe("DEBUG");
});
});
describe("set", () => {
it("get returns new value", () => {
loggingViewerFilterService.level = "INFO";
expect(loggingViewerFilterService.level).toBe("INFO");
});
});
});
describe("search", () => {
describe("get", () => {
it("return empty string as default", () => {
expect(loggingViewerFilterService.search).toBe("");
});
});
describe("set", () => {
it("get returns new value", () => {
loggingViewerFilterService.search = "abc";
expect(loggingViewerFilterService.search).toBe("abc");
});
});
});
describe("filterChanged: EventEmitter<void>", () => {
it("new level gets emitted", (done: () => void) => {
loggingViewerFilterService.filterChanged.subscribe(() => {
expect(loggingViewerFilterService.level).toBe("WARN");
done();
});
loggingViewerFilterService.level = "WARN";
});
it("new search gets emitted", (done: () => void) => {
loggingViewerFilterService.filterChanged.subscribe(() => {
expect(loggingViewerFilterService.search).toBe("ghi");
done();
});
loggingViewerFilterService.search = "ghi";
});
});
});