Skip to content

Commit 1086394

Browse files
committed
refactor: move loggerModule into helpers
1 parent e275089 commit 1086394

File tree

3 files changed

+63
-17
lines changed

3 files changed

+63
-17
lines changed

test/constants.test.ts

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
// Note: we need to import logger from the root
22
// because this is the logger used in logError in ../src/common/util
3-
import { logger } from "../node_modules/@coder/logger"
3+
// import { logger } from "../node_modules/@coder/logger"
44
import { commit, getPackageJson, version } from "../src/node/constants"
5+
import { loggerModule } from "./helpers"
56

67
describe("constants", () => {
78
describe("getPackageJson", () => {
8-
let spy: jest.SpyInstance
9+
// let spy: jest.SpyInstance
910

1011
beforeEach(() => {
11-
spy = jest.spyOn(logger, "warn")
12+
// spy = jest.spyOn(logger, "warn")
13+
jest.mock("@coder/logger", () => loggerModule)
1214
})
1315

1416
afterEach(() => {
@@ -24,8 +26,10 @@ describe("constants", () => {
2426

2527
getPackageJson("./package.json")
2628

27-
expect(spy).toHaveBeenCalled()
28-
expect(spy).toHaveBeenCalledWith(expectedErrorMessage)
29+
// expect(spy).toHaveBeenCalled()
30+
// expect(spy).toHaveBeenCalledWith(expectedErrorMessage)
31+
expect(loggerModule.logger.warn).toHaveBeenCalled()
32+
expect(loggerModule.logger.warn).toHaveBeenCalledWith(expectedErrorMessage)
2933
})
3034

3135
it("should find the package.json", () => {

test/helpers.ts

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { field, Level } from "@coder/logger"
2+
3+
// Borrowed from playwright
4+
export interface Cookie {
5+
name: string
6+
value: string
7+
domain: string
8+
path: string
9+
/**
10+
* Unix time in seconds.
11+
*/
12+
expires: number
13+
httpOnly: boolean
14+
secure: boolean
15+
sameSite: "Strict" | "Lax" | "None"
16+
}
17+
18+
/**
19+
* Checks if a cookie exists in array of cookies
20+
*/
21+
export function checkForCookie(cookies: Array<Cookie>, key: string): boolean {
22+
// Check for a cookie where the name is equal to key
23+
return Boolean(cookies.find((cookie) => cookie.name === key))
24+
}
25+
26+
/**
27+
* Creates a login cookie if one doesn't already exist
28+
*/
29+
export function createCookieIfDoesntExist(cookies: Array<Cookie>, cookieToStore: Cookie): Array<Cookie> {
30+
const cookieName = cookieToStore.name
31+
const doesCookieExist = checkForCookie(cookies, cookieName)
32+
if (!doesCookieExist) {
33+
const updatedCookies = [...cookies, cookieToStore]
34+
return updatedCookies
35+
}
36+
return cookies
37+
}
38+
39+
export const loggerModule = {
40+
field,
41+
level: Level.Info,
42+
logger: {
43+
debug: jest.fn(),
44+
error: jest.fn(),
45+
info: jest.fn(),
46+
trace: jest.fn(),
47+
warn: jest.fn(),
48+
},
49+
}

test/register.test.ts

+5-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { field, Level } from "@coder/logger"
21
import { JSDOM } from "jsdom"
2+
import { loggerModule } from "./helpers"
33

44
describe("register", () => {
55
const { window } = new JSDOM()
@@ -9,17 +9,6 @@ describe("register", () => {
99
global.location = window.location
1010

1111
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-
}
2312

2413
beforeAll(() => {
2514
Object.defineProperty(global.navigator, "serviceWorker", {
@@ -63,5 +52,9 @@ describe("register", () => {
6352

6453
expect(mockRegisterFn).toHaveBeenCalled()
6554
expect(loggerModule.logger.error).toHaveBeenCalled()
55+
expect(loggerModule.logger.error).toHaveBeenCalledTimes(1)
56+
expect(loggerModule.logger.error).toHaveBeenCalledWith(
57+
`[Service Worker] registration: ${error.message} ${error.stack}`,
58+
)
6659
})
6760
})

0 commit comments

Comments
 (0)