feat(SW-2116): Use refId instead of confirmationNumber
This commit is contained in:
@@ -14,18 +14,32 @@ import type { Guest } from "@/server/routers/booking/output"
|
||||
describe("Access booking", () => {
|
||||
describe("for logged in booking", () => {
|
||||
it("should enable access if all is provided", () => {
|
||||
expect(accessBooking(loggedIn, "Booking", user)).toBe(ACCESS_GRANTED)
|
||||
expect(accessBooking(loggedInGuest, "Booking", authenticatedUser)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
it("should enable access if all is provided and be case-insensitive", () => {
|
||||
expect(accessBooking(loggedIn, "BoOkInG", user)).toBe(ACCESS_GRANTED)
|
||||
expect(accessBooking(loggedInGuest, "BoOkInG", authenticatedUser)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
it("should prompt to login", () => {
|
||||
expect(accessBooking(loggedIn, "Booking", null)).toBe(ERROR_UNAUTHORIZED)
|
||||
it("should prompt to login without user", () => {
|
||||
expect(accessBooking(loggedInGuest, "Booking", null)).toBe(
|
||||
ERROR_UNAUTHORIZED
|
||||
)
|
||||
})
|
||||
it("should deny access", () => {
|
||||
expect(accessBooking(loggedIn, "NotBooking", user)).toBe(ERROR_NOT_FOUND)
|
||||
it("should prompt to login if user mismatch", () => {
|
||||
expect(
|
||||
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", () => {
|
||||
it("should enable access if all is provided", () => {
|
||||
const cookieString = new URLSearchParams({
|
||||
@@ -34,7 +48,7 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "logged+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
@@ -45,7 +59,7 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "logged+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
@@ -56,7 +70,7 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "logged+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "BoOkInG", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "BoOkInG", null, cookieString)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
@@ -67,7 +81,7 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "LOGGED+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ACCESS_GRANTED
|
||||
)
|
||||
})
|
||||
@@ -78,9 +92,14 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "logged+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", user, cookieString)).toBe(
|
||||
ERROR_FORBIDDEN
|
||||
)
|
||||
expect(
|
||||
accessBooking(
|
||||
loggedOutGuest,
|
||||
"Booking",
|
||||
authenticatedUser,
|
||||
cookieString
|
||||
)
|
||||
).toBe(ERROR_FORBIDDEN)
|
||||
})
|
||||
it("should prompt for more if first name is missing", () => {
|
||||
const cookieString = new URLSearchParams({
|
||||
@@ -88,7 +107,7 @@ describe("Access booking", () => {
|
||||
lastName: "Booking",
|
||||
email: "logged+out@scandichotels.com",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ERROR_BAD_REQUEST
|
||||
)
|
||||
})
|
||||
@@ -98,23 +117,25 @@ describe("Access booking", () => {
|
||||
firstName: "Anonymous",
|
||||
lastName: "Booking",
|
||||
}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ERROR_BAD_REQUEST
|
||||
)
|
||||
})
|
||||
it("should prompt for more if cookie is invalid", () => {
|
||||
const cookieString = new URLSearchParams({}).toString()
|
||||
expect(accessBooking(loggedOut, "Booking", null, cookieString)).toBe(
|
||||
expect(accessBooking(loggedOutGuest, "Booking", null, cookieString)).toBe(
|
||||
ERROR_BAD_REQUEST
|
||||
)
|
||||
})
|
||||
it("should deny access", () => {
|
||||
expect(accessBooking(loggedOut, "NotBooking", null)).toBe(ERROR_NOT_FOUND)
|
||||
it("should deny access if refId mismatch", () => {
|
||||
expect(accessBooking(loggedOutGuest, "NotBooking", null)).toBe(
|
||||
ERROR_NOT_FOUND
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
const user: SafeUser = {
|
||||
const authenticatedUser: SafeUser = {
|
||||
address: {
|
||||
city: undefined,
|
||||
country: "Sweden",
|
||||
@@ -124,10 +145,10 @@ const user: SafeUser = {
|
||||
},
|
||||
dateOfBirth: "",
|
||||
email: "",
|
||||
firstName: "",
|
||||
firstName: "Authenticated",
|
||||
language: undefined,
|
||||
lastName: "",
|
||||
membershipNumber: "",
|
||||
lastName: "Booking",
|
||||
membershipNumber: "01234567890123",
|
||||
membership: undefined,
|
||||
loyalty: {
|
||||
memberships: [],
|
||||
@@ -145,7 +166,38 @@ const user: SafeUser = {
|
||||
profileId: "",
|
||||
}
|
||||
|
||||
const loggedOut: Guest = {
|
||||
const badAuthenticatedUser: SafeUser = {
|
||||
address: {
|
||||
city: undefined,
|
||||
country: "Sweden",
|
||||
countryCode: "SE",
|
||||
streetAddress: undefined,
|
||||
zipCode: undefined,
|
||||
},
|
||||
dateOfBirth: "",
|
||||
email: "",
|
||||
firstName: "Authenticated",
|
||||
language: undefined,
|
||||
lastName: `Bad name ${Math.random()}`,
|
||||
membershipNumber: "0987654321",
|
||||
membership: undefined,
|
||||
loyalty: {
|
||||
memberships: [],
|
||||
pointExpirations: [],
|
||||
points: {
|
||||
earned: 0,
|
||||
spent: 0,
|
||||
spendable: 0,
|
||||
},
|
||||
tier: "L1",
|
||||
tierExpires: "",
|
||||
},
|
||||
name: "",
|
||||
phoneNumber: undefined,
|
||||
profileId: "",
|
||||
}
|
||||
|
||||
const loggedOutGuest: Guest = {
|
||||
email: "logged+out@scandichotels.com",
|
||||
firstName: "Anonymous",
|
||||
lastName: "Booking",
|
||||
@@ -154,7 +206,7 @@ const loggedOut: Guest = {
|
||||
countryCode: "SE",
|
||||
}
|
||||
|
||||
const loggedIn: Guest = {
|
||||
const loggedInGuest: Guest = {
|
||||
email: "logged+in@scandichotels.com",
|
||||
firstName: "Authenticated",
|
||||
lastName: "Booking",
|
||||
|
||||
Reference in New Issue
Block a user