chore: prevent adminSession variable from being mutated in the helpers

This commit is contained in:
Riqwan Thamir authored and Adrien de Peretti committed 2022-12-07 16:42:32 +01:00
1 parent 66bec2f54d
commit 7fcf2b86a9
2 files changed
+17 -14

No files matched your search

@@ -5,11 +5,11 @@ import { DiscountServiceMock } from "../../../../../services/__mocks__/discount"
const validRegionId = IdMap.getId("region-france") const validRegionId = IdMap.getId("region-france")
describe("POST /admin/discounts", () => { describe("POST /admin/discounts", () => {
const generateAdminJwtSession = () => ({ const adminSession = {
jwt: { jwt: {
userId: IdMap.getId("admin_user") userId: IdMap.getId("admin_user")
} }
}) }
describe("successful creation", () => { describe("successful creation", () => {
let subject let subject
@@ -28,7 +28,7 @@ describe("POST /admin/discounts", () => {
starts_at: "02/02/2021 13:45", starts_at: "02/02/2021 13:45",
ends_at: "03/14/2021 04:30", ends_at: "03/14/2021 04:30",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -75,7 +75,7 @@ describe("POST /admin/discounts", () => {
is_dynamic: true, is_dynamic: true,
valid_duration: "PaMT2D", valid_duration: "PaMT2D",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -109,7 +109,7 @@ describe("POST /admin/discounts", () => {
is_dynamic: true, is_dynamic: true,
valid_duration: "P1Y2M03DT04H05M", valid_duration: "P1Y2M03DT04H05M",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -150,7 +150,7 @@ describe("POST /admin/discounts", () => {
}, },
regions: [validRegionId], regions: [validRegionId],
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -190,7 +190,7 @@ describe("POST /admin/discounts", () => {
is_dynamic: true, is_dynamic: true,
valid_duration: "P1Y2M03DT04H05M", valid_duration: "P1Y2M03DT04H05M",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -222,7 +222,7 @@ describe("POST /admin/discounts", () => {
ends_at: "02/02/2021", ends_at: "02/02/2021",
starts_at: "03/14/2021", starts_at: "03/14/2021",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -255,7 +255,7 @@ describe("POST /admin/discounts", () => {
regions: [validRegionId], regions: [validRegionId],
starts_at: "03/14/2021 14:30", starts_at: "03/14/2021 14:30",
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
@@ -296,7 +296,7 @@ describe("POST /admin/discounts", () => {
allocation: "total", allocation: "total",
}, },
}, },
adminSession: generateAdminJwtSession(), adminSession,
}) })
}) })
+7 -4
View File
@@ -11,6 +11,7 @@ import { moduleHelper } from "../loaders/module"
import passportLoader from "../loaders/passport" import passportLoader from "../loaders/passport"
import servicesLoader from "../loaders/services" import servicesLoader from "../loaders/services"
import strategiesLoader from "../loaders/strategies" import strategiesLoader from "../loaders/strategies"
import { clone } from "lodash"
const adminSessionOpts = { const adminSessionOpts = {
cookieName: "session", cookieName: "session",
@@ -87,16 +88,18 @@ export async function request(method, url, opts = {}) {
) )
headers.Cookie = headers.Cookie || "" headers.Cookie = headers.Cookie || ""
if (opts.adminSession) { if (opts.adminSession) {
if (opts.adminSession.jwt) { const adminSession = clone(opts.adminSession)
opts.adminSession.jwt = jwt.sign(
opts.adminSession.jwt, if (adminSession.jwt) {
adminSession.jwt = jwt.sign(
adminSession.jwt,
config.projectConfig.jwt_secret, config.projectConfig.jwt_secret,
{ {
expiresIn: "30m", expiresIn: "30m",
} }
) )
} }
headers.Cookie = JSON.stringify(opts.adminSession) || "" headers.Cookie = JSON.stringify(adminSession) || ""
} }
if (opts.clientSession) { if (opts.clientSession) {
if (opts.clientSession.jwt) { if (opts.clientSession.jwt) {