1
1
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"
5
2
import {
6
3
arrayify ,
7
4
generateUuid ,
@@ -14,12 +11,16 @@ import {
14
11
split ,
15
12
trimSlashes ,
16
13
} from "../src/common/util"
14
+ import { loggerModule } from "./helpers"
17
15
18
16
const dom = new JSDOM ( )
19
17
global . document = dom . window . document
20
18
21
19
type LocationLike = Pick < Location , "pathname" | "origin" >
22
20
21
+ // jest.mock is hoisted above the imports so we must use `require` here.
22
+ jest . mock ( "@coder/logger" , ( ) => require ( "./helpers" ) . loggerModule )
23
+
23
24
describe ( "util" , ( ) => {
24
25
describe ( "normalize" , ( ) => {
25
26
it ( "should remove multiple slashes" , ( ) => {
@@ -223,12 +224,6 @@ describe("util", () => {
223
224
} )
224
225
225
226
describe ( "logError" , ( ) => {
226
- let spy : jest . SpyInstance
227
-
228
- beforeEach ( ( ) => {
229
- spy = jest . spyOn ( logger , "error" )
230
- } )
231
-
232
227
afterEach ( ( ) => {
233
228
jest . clearAllMocks ( )
234
229
} )
@@ -243,15 +238,15 @@ describe("util", () => {
243
238
244
239
logError ( "ui" , error )
245
240
246
- expect ( spy ) . toHaveBeenCalled ( )
247
- expect ( spy ) . toHaveBeenCalledWith ( `ui: ${ error . message } ${ error . stack } ` )
241
+ expect ( loggerModule . logger . error ) . toHaveBeenCalled ( )
242
+ expect ( loggerModule . logger . error ) . toHaveBeenCalledWith ( `ui: ${ error . message } ${ error . stack } ` )
248
243
} )
249
244
250
245
it ( "should log an error, even if not an instance of error" , ( ) => {
251
246
logError ( "api" , "oh no" )
252
247
253
- expect ( spy ) . toHaveBeenCalled ( )
254
- expect ( spy ) . toHaveBeenCalledWith ( "api: oh no" )
248
+ expect ( loggerModule . logger . error ) . toHaveBeenCalled ( )
249
+ expect ( loggerModule . logger . error ) . toHaveBeenCalledWith ( "api: oh no" )
255
250
} )
256
251
} )
257
252
} )
0 commit comments