Test updates
This commit is contained in:
parent
c6cddb5c06
commit
ec9e570ac2
|
@ -18,30 +18,26 @@ describe("/api/global/self", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("update", () => {
|
describe("update", () => {
|
||||||
it("should update self", async () => {
|
it("should reject updates with forbidden keys", async () => {
|
||||||
const user = await config.createUser()
|
const user = await config.createUser()
|
||||||
await config.createSession(user)
|
await config.createSession(user)
|
||||||
|
|
||||||
delete user.password
|
delete user.password
|
||||||
const res = await config.api.self.updateSelf(user)
|
|
||||||
|
|
||||||
const dbUser = await config.getUser(user.email)
|
await config.api.self.updateSelf(user, user).expect(400)
|
||||||
user._rev = dbUser._rev
|
|
||||||
user.dayPassRecordedAt = mocks.date.MOCK_DATE.toISOString()
|
|
||||||
expect(res.body._id).toBe(user._id)
|
|
||||||
expect(events.user.updated).toBeCalledTimes(1)
|
|
||||||
expect(events.user.updated).toBeCalledWith(dbUser)
|
|
||||||
expect(events.user.passwordUpdated).not.toBeCalled()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should update password", async () => {
|
it("should update password", async () => {
|
||||||
const user = await config.createUser()
|
const user = await config.createUser()
|
||||||
await config.createSession(user)
|
await config.createSession(user)
|
||||||
|
|
||||||
user.password = "newPassword"
|
const res = await config.api.self
|
||||||
const res = await config.api.self.updateSelf(user)
|
.updateSelf(user, {
|
||||||
|
password: "newPassword",
|
||||||
|
})
|
||||||
|
.expect(200)
|
||||||
|
|
||||||
const dbUser = await config.getUser(user.email)
|
const dbUser = await config.getUser(user.email)
|
||||||
|
|
||||||
user._rev = dbUser._rev
|
user._rev = dbUser._rev
|
||||||
user.dayPassRecordedAt = mocks.date.MOCK_DATE.toISOString()
|
user.dayPassRecordedAt = mocks.date.MOCK_DATE.toISOString()
|
||||||
expect(res.body._id).toBe(user._id)
|
expect(res.body._id).toBe(user._id)
|
||||||
|
@ -51,4 +47,22 @@ describe("/api/global/self", () => {
|
||||||
expect(events.user.passwordUpdated).toBeCalledWith(dbUser)
|
expect(events.user.passwordUpdated).toBeCalledWith(dbUser)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should update onboarding", async () => {
|
||||||
|
const user = await config.createUser()
|
||||||
|
await config.createSession(user)
|
||||||
|
|
||||||
|
const res = await config.api.self
|
||||||
|
.updateSelf(user, {
|
||||||
|
onboardedAt: "2023-03-07T14:10:54.869Z",
|
||||||
|
})
|
||||||
|
.expect(200)
|
||||||
|
|
||||||
|
const dbUser = await config.getUser(user.email)
|
||||||
|
|
||||||
|
user._rev = dbUser._rev
|
||||||
|
user.dayPassRecordedAt = mocks.date.MOCK_DATE.toISOString()
|
||||||
|
expect(dbUser.onboardedAt).toBe("2023-03-07T14:10:54.869Z")
|
||||||
|
expect(res.body._id).toBe(user._id)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -128,7 +128,7 @@ router
|
||||||
.get("/api/global/users/self", selfController.getSelf)
|
.get("/api/global/users/self", selfController.getSelf)
|
||||||
.post(
|
.post(
|
||||||
"/api/global/users/self",
|
"/api/global/users/self",
|
||||||
users.buildUserSaveValidation(true),
|
users.buildUserSaveValidation(),
|
||||||
selfController.updateSelf
|
selfController.updateSelf
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,12 @@ export class SelfAPI extends TestAPI {
|
||||||
super(config)
|
super(config)
|
||||||
}
|
}
|
||||||
|
|
||||||
updateSelf = (user: User) => {
|
updateSelf = (user: User, update: any) => {
|
||||||
return this.request
|
return this.request
|
||||||
.post(`/api/global/self`)
|
.post(`/api/global/self`)
|
||||||
.send(user)
|
.send(update)
|
||||||
.set(this.config.authHeaders(user))
|
.set(this.config.authHeaders(user))
|
||||||
.expect("Content-Type", /json/)
|
.expect("Content-Type", /json/)
|
||||||
.expect(200)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getSelf = (user: User) => {
|
getSelf = (user: User) => {
|
||||||
|
|
Loading…
Reference in New Issue