@@ -12,20 +12,18 @@ describe("register", () => {
12
12
13
13
let spy : jest . SpyInstance
14
14
let loggerSpy : jest . SpyInstance
15
+ const mockRegisterFn = jest . fn ( ( ) => console . log ( "Mock register fn called" ) )
15
16
16
17
beforeAll ( ( ) => {
17
18
Object . defineProperty ( global . navigator , "serviceWorker" , {
18
19
value : {
19
- register : ( ) => {
20
- return "hello"
21
- } ,
20
+ register : mockRegisterFn ,
22
21
} ,
23
22
} )
24
23
} )
25
24
26
25
beforeEach ( ( ) => {
27
26
spy = jest . spyOn ( global . navigator . serviceWorker , "register" )
28
- loggerSpy = jest . spyOn ( logger , "error" )
29
27
} )
30
28
31
29
afterEach ( ( ) => {
@@ -38,7 +36,8 @@ describe("register", () => {
38
36
jest . restoreAllMocks ( )
39
37
} )
40
38
41
- it . skip ( "should register a ServiceWorker" , ( ) => {
39
+ it ( "should register a ServiceWorker" , ( ) => {
40
+ spy = jest . spyOn ( global . navigator . serviceWorker , "register" )
42
41
// Load service worker like you would in the browser
43
42
require ( "../src/browser/register" )
44
43
// Load service worker like you would in the browser
@@ -48,18 +47,27 @@ describe("register", () => {
48
47
} )
49
48
50
49
it ( "should log an error if something doesn't work" , ( ) => {
50
+ mockRegisterFn . mockImplementation ( ( ) => console . log ( "frick ya" ) )
51
+ loggerSpy = jest . spyOn ( logger , "error" )
51
52
const message = "Can't find browser"
52
53
const error = new Error ( message )
53
54
global . navigator . serviceWorker . register = ( ) => {
55
+ console . log ( "errror here" )
54
56
throw error
55
57
}
58
+ console . log ( global . navigator . serviceWorker . register . toString ( ) )
59
+ spy = jest . spyOn ( global . navigator . serviceWorker , "register" )
60
+ spy . mockResolvedValue ( ( ) => {
61
+ throw error
62
+ } )
56
63
57
64
// Load service worker like you would in the browser
58
65
require ( "../src/browser/register" )
59
66
60
67
expect ( loggerSpy ) . toHaveBeenCalled ( )
61
- expect ( loggerSpy ) . toHaveBeenCalledTimes ( 1 )
68
+ expect ( spy ) . toHaveBeenCalled ( )
69
+ // expect(loggerSpy).toHaveBeenCalledTimes(1)
62
70
// Because we use logError, it will log the prefix along with the error message
63
- expect ( loggerSpy ) . toHaveBeenCalledWith ( `[Service Worker] registration: ${ error . message } ${ error . stack } ` )
71
+ // expect(loggerSpy).toHaveBeenCalledWith(`[Service Worker] registration: ${error.message} ${error.stack}`)
64
72
} )
65
73
} )
0 commit comments