File tree Expand file tree Collapse file tree 2 files changed +54
-12
lines changed
Expand file tree Collapse file tree 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"
21import { JSDOM } from "jsdom"
2+ import { loggerModule } from "./helpers"
33
44describe ( "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} )
You can’t perform that action at this time.
0 commit comments