Skip to content

Commit 6f8bc54

Browse files
committed
refactor: use LogModule from Asher in tests
1 parent 8d5d8da commit 6f8bc54

File tree

2 files changed

+19
-21
lines changed

2 files changed

+19
-21
lines changed

src/common/util.ts

-3
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,9 @@ export const getFirstString = (value: string | string[] | object | undefined): s
114114
}
115115

116116
export function logError(prefix: string, err: any): void {
117-
console.log("hey joe log error was called")
118117
if (err instanceof Error) {
119-
console.log("it was an instance of error")
120118
logger.error(`${prefix}: ${err.message} ${err.stack}`)
121119
} else {
122-
console.log("not an isntance errro")
123120
logger.error(`${prefix}: ${err}`)
124121
}
125122
}

test/register.test.ts

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1+
import { field, Level } from "@coder/logger"
12
import { JSDOM } from "jsdom"
2-
// Note: we need to import logger from the root
3-
// because this is the logger used in logError in ../src/common/util
4-
import { logger } from "../node_modules/@coder/logger"
53

64
describe("register", () => {
75
const { window } = new JSDOM()
@@ -10,9 +8,18 @@ describe("register", () => {
108
global.navigator = window.navigator
119
global.location = window.location
1210

13-
let spy: jest.SpyInstance
14-
let loggerSpy: jest.SpyInstance
15-
const mockRegisterFn = jest.fn(() => console.log("Mock register fn called"))
11+
const mockRegisterFn = jest.fn()
12+
const loggerModule = {
13+
field,
14+
level: Level.Info,
15+
logger: {
16+
debug: jest.fn(),
17+
error: jest.fn(),
18+
info: jest.fn(),
19+
trace: jest.fn(),
20+
warn: jest.fn(),
21+
},
22+
}
1623

1724
beforeAll(() => {
1825
Object.defineProperty(global.navigator, "serviceWorker", {
@@ -23,10 +30,11 @@ describe("register", () => {
2330
})
2431

2532
beforeEach(() => {
26-
spy = jest.spyOn(global.navigator.serviceWorker, "register")
33+
jest.mock("@coder/logger", () => loggerModule)
2734
})
2835

2936
afterEach(() => {
37+
mockRegisterFn.mockClear()
3038
jest.resetModules()
3139
})
3240

@@ -35,18 +43,14 @@ describe("register", () => {
3543
})
3644

3745
it("should register a ServiceWorker", () => {
38-
spy = jest.spyOn(global.navigator.serviceWorker, "register")
3946
// Load service worker like you would in the browser
4047
require("../src/browser/register")
4148
// Load service worker like you would in the browser
42-
// expect spy to have been called
43-
expect(spy).toHaveBeenCalled()
44-
expect(spy).toHaveBeenCalledTimes(1)
45-
spy.mockClear()
49+
expect(mockRegisterFn).toHaveBeenCalled()
50+
expect(mockRegisterFn).toHaveBeenCalledTimes(1)
4651
})
4752

4853
it("should log an error if something doesn't work", () => {
49-
loggerSpy = jest.spyOn(logger, "error")
5054
const message = "Can't find browser"
5155
const error = new Error(message)
5256

@@ -57,10 +61,7 @@ describe("register", () => {
5761
// Load service worker like you would in the browser
5862
require("../src/browser/register")
5963

60-
expect(spy).toHaveBeenCalled()
61-
expect(loggerSpy).toHaveBeenCalled()
62-
// expect(loggerSpy).toHaveBeenCalledTimes(1)
63-
// Because we use logError, it will log the prefix along with the error message
64-
// expect(loggerSpy).toHaveBeenCalledWith(`[Service Worker] registration: ${error.message} ${error.stack}`)
64+
expect(mockRegisterFn).toHaveBeenCalled()
65+
expect(loggerModule.logger.error).toHaveBeenCalled()
6566
})
6667
})

0 commit comments

Comments
 (0)