1
1
import { JSDOM } from "jsdom"
2
- import { Cookie } from "playwright"
3
- // Note: we need to import logger from the root
4
- // because this is the logger used in logError in ../src/common/util
5
- import { logger } from "../node_modules/@coder/logger"
6
2
import {
7
3
arrayify ,
8
4
generateUuid ,
@@ -18,13 +14,16 @@ import {
18
14
import { Cookie as CookieEnum } from "../src/node/routes/login"
19
15
import { hash } from "../src/node/util"
20
16
import { PASSWORD } from "./constants"
21
- import { checkForCookie , createCookieIfDoesntExist } from "./helpers"
17
+ import { checkForCookie , createCookieIfDoesntExist , loggerModule , Cookie } from "./helpers"
22
18
23
19
const dom = new JSDOM ( )
24
20
global . document = dom . window . document
25
21
26
22
type LocationLike = Pick < Location , "pathname" | "origin" >
27
23
24
+ // jest.mock is hoisted above the imports so we must use `require` here.
25
+ jest . mock ( "@coder/logger" , ( ) => require ( "./helpers" ) . loggerModule )
26
+
28
27
describe ( "util" , ( ) => {
29
28
describe ( "normalize" , ( ) => {
30
29
it ( "should remove multiple slashes" , ( ) => {
@@ -228,12 +227,6 @@ describe("util", () => {
228
227
} )
229
228
230
229
describe ( "logError" , ( ) => {
231
- let spy : jest . SpyInstance
232
-
233
- beforeEach ( ( ) => {
234
- spy = jest . spyOn ( logger , "error" )
235
- } )
236
-
237
230
afterEach ( ( ) => {
238
231
jest . clearAllMocks ( )
239
232
} )
@@ -248,15 +241,15 @@ describe("util", () => {
248
241
249
242
logError ( "ui" , error )
250
243
251
- expect ( spy ) . toHaveBeenCalled ( )
252
- expect ( spy ) . toHaveBeenCalledWith ( `ui: ${ error . message } ${ error . stack } ` )
244
+ expect ( loggerModule . logger . error ) . toHaveBeenCalled ( )
245
+ expect ( loggerModule . logger . error ) . toHaveBeenCalledWith ( `ui: ${ error . message } ${ error . stack } ` )
253
246
} )
254
247
255
248
it ( "should log an error, even if not an instance of error" , ( ) => {
256
249
logError ( "api" , "oh no" )
257
250
258
- expect ( spy ) . toHaveBeenCalled ( )
259
- expect ( spy ) . toHaveBeenCalledWith ( "api: oh no" )
251
+ expect ( loggerModule . logger . error ) . toHaveBeenCalled ( )
252
+ expect ( loggerModule . logger . error ) . toHaveBeenCalledWith ( "api: oh no" )
260
253
} )
261
254
} )
262
255
0 commit comments