Skip to content

Commit 7f31606

Browse files
committed
refactor: move loggerModule into helpers
1 parent 6f8bc54 commit 7f31606

File tree

2 files changed

+54
-12
lines changed

2 files changed

+54
-12
lines changed

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)