diff --git a/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.test.ts b/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.test.ts index 7ac779a5b..73256bde7 100644 --- a/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.test.ts +++ b/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.test.ts @@ -16,6 +16,9 @@ describe("Access booking", () => { it("should enable access if all is provided", () => { expect(accessBooking(loggedIn, "Booking", user)).toBe(ACCESS_GRANTED) }) + it("should enable access if all is provided and be case-insensitive", () => { + expect(accessBooking(loggedIn, "BoOkInG", user)).toBe(ACCESS_GRANTED) + }) it("should prompt to login", () => { expect(accessBooking(loggedIn, "Booking", null)).toBe(ERROR_UNAUTHORIZED) }) @@ -35,6 +38,39 @@ describe("Access booking", () => { ACCESS_GRANTED ) }) + it("should enable access if all is provided and be case-insensitive for first name", () => { + const cookieString = new URLSearchParams({ + confirmationNumber: "123456789", + firstName: "AnOnYmOuS", + lastName: "Booking", + email: "logged+out@scandichotels.com", + }).toString() + expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe( + ACCESS_GRANTED + ) + }) + it("should enable access if all is provided and be case-insensitive for last name", () => { + const cookieString = new URLSearchParams({ + confirmationNumber: "123456789", + firstName: "Anonymous", + lastName: "Booking", + email: "logged+out@scandichotels.com", + }).toString() + expect(accessBooking(loggedOut, "BoOkInG", null, cookieString)).toBe( + ACCESS_GRANTED + ) + }) + it("should enable access if all is provided and be case-insensitive for email", () => { + const cookieString = new URLSearchParams({ + confirmationNumber: "123456789", + firstName: "Anonymous", + lastName: "Booking", + email: "LOGGED+out@scandichotels.com", + }).toString() + expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe( + ACCESS_GRANTED + ) + }) it("should prompt logout if user is logged in", () => { const cookieString = new URLSearchParams({ confirmationNumber: "123456789", diff --git a/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.ts b/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.ts index 199a4ab72..7fc3f9c72 100644 --- a/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.ts +++ b/apps/scandic-web/components/HotelReservation/MyStay/accessBooking.ts @@ -21,7 +21,7 @@ function accessBooking( ) { if (guest.membershipNumber) { if (user) { - if (lastName === guest.lastName) { + if (lastName.toLowerCase() === guest.lastName?.toLowerCase()) { return ACCESS_GRANTED } } else { @@ -32,7 +32,7 @@ function accessBooking( } } - if (guest.lastName === lastName) { + if (guest.lastName?.toLowerCase() === lastName.toLowerCase()) { if (user) { console.warn( "Access to booking not granted due to logged in user attempting access to anonymous booking" @@ -41,8 +41,9 @@ function accessBooking( } else { const params = new URLSearchParams(cookie) if ( - params.get("firstName") === guest.firstName && - params.get("email") === guest.email + params.get("firstName")?.toLowerCase() === + guest.firstName?.toLowerCase() && + params.get("email")?.toLowerCase() === guest.email?.toLowerCase() ) { return ACCESS_GRANTED } else {