Merged in feat/sw-2967-mystay (pull request #2666)
feat(mystay):SW-2967 - allow access if booking.guest == logged in user * feat(mystay):SW-2967 - allow access if booking.guest == logged in user * Fixed failing tests Approved-by: Hrishikesh Vaipurkar
This commit is contained in:
@@ -34,11 +34,6 @@ describe("Access booking", () => {
|
||||
accessBooking(loggedInGuest, "Booking", badAuthenticatedUser)
|
||||
).toBe(ERROR_UNAUTHORIZED)
|
||||
})
|
||||
it("should deny access if refId mismatch", () => {
|
||||
expect(
|
||||
accessBooking(loggedInGuest, "NotBooking", authenticatedUser)
|
||||
).toBe(ERROR_UNAUTHORIZED)
|
||||
})
|
||||
})
|
||||
|
||||
describe("for anonymous booking", () => {
|
||||
@@ -145,7 +140,7 @@ const authenticatedUser: SafeUser = {
|
||||
zipCode: undefined,
|
||||
},
|
||||
dateOfBirth: "",
|
||||
email: "",
|
||||
email: "logged+in@scandichotels.com",
|
||||
firstName: "Authenticated",
|
||||
language: undefined,
|
||||
lastName: "Booking",
|
||||
|
||||
@@ -21,30 +21,25 @@ function accessBooking(
|
||||
user: SafeUser | null,
|
||||
cookie: string = ""
|
||||
) {
|
||||
if (guest.membershipNumber) {
|
||||
if (user) {
|
||||
if (
|
||||
user.membershipNumber === guest.membershipNumber &&
|
||||
user.lastName.toLowerCase() === lastName.toLowerCase() &&
|
||||
lastName.toLowerCase() === guest.lastName?.toLowerCase()
|
||||
) {
|
||||
return ACCESS_GRANTED
|
||||
}
|
||||
}
|
||||
if (
|
||||
user &&
|
||||
user.membershipNumber === guest.membershipNumber &&
|
||||
user.firstName.toLowerCase() === guest.firstName?.toLowerCase() &&
|
||||
user.email.toLowerCase() === guest.email?.toLowerCase()
|
||||
) {
|
||||
return ACCESS_GRANTED
|
||||
}
|
||||
|
||||
return ERROR_UNAUTHORIZED
|
||||
if (guest.membershipNumber) {
|
||||
if (!user) {
|
||||
return ERROR_UNAUTHORIZED
|
||||
}
|
||||
if (guest.membershipNumber !== user.membershipNumber) {
|
||||
return ERROR_UNAUTHORIZED
|
||||
}
|
||||
}
|
||||
|
||||
if (guest.lastName?.toLowerCase() === lastName.toLowerCase()) {
|
||||
if (user) {
|
||||
if (
|
||||
user.firstName.toLowerCase() === guest.firstName?.toLowerCase() &&
|
||||
user.email.toLowerCase() === guest.email?.toLowerCase()
|
||||
) {
|
||||
return ACCESS_GRANTED
|
||||
}
|
||||
}
|
||||
|
||||
const values =
|
||||
cookie && (JSON.parse(cookie) as Partial<AdditionalInfoCookieValue>)
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user