chore: prevent adminSession variable from being mutated in the helpers
This commit is contained in:
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,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in new issue
Block a user