File tree 2 files changed +54
-12
lines changed
2 files changed +54
-12
lines changed Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change 1
- import { field , Level } from "@coder/logger"
2
1
import { JSDOM } from "jsdom"
2
+ import { loggerModule } from "./helpers"
3
3
4
4
describe ( "register" , ( ) => {
5
5
const { window } = new JSDOM ( )
@@ -9,17 +9,6 @@ describe("register", () => {
9
9
global . location = window . location
10
10
11
11
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
- }
23
12
24
13
beforeAll ( ( ) => {
25
14
Object . defineProperty ( global . navigator , "serviceWorker" , {
@@ -63,5 +52,9 @@ describe("register", () => {
63
52
64
53
expect ( mockRegisterFn ) . toHaveBeenCalled ( )
65
54
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
+ )
66
59
} )
67
60
} )
You can’t perform that action at this time.
0 commit comments