1
0
Fork 0
mirror of synced 2024-05-18 11:23:28 +12:00
budibase/packages/worker/src/api/routes/global/tests/self.spec.ts
2022-11-11 15:43:41 +00:00

56 lines
1.6 KiB
TypeScript

jest.mock("nodemailer")
import { TestConfiguration, mocks } from "../../../../tests"
import { events } from "@budibase/backend-core"
describe("/api/global/self", () => {
const config = new TestConfiguration()
beforeAll(async () => {
await config.beforeAll()
})
afterAll(async () => {
await config.afterAll()
})
beforeEach(() => {
jest.clearAllMocks()
})
describe("update", () => {
it("should update self", async () => {
const user = await config.createUser()
await config.createSession(user)
delete user.password
const res = await config.api.self.updateSelf(user)
const dbUser = await config.getUser(user.email)
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(user)
expect(events.user.passwordUpdated).not.toBeCalled()
})
it("should update password", async () => {
const user = await config.createUser()
await config.createSession(user)
user.password = "newPassword"
const res = await config.api.self.updateSelf(user)
const dbUser = await config.getUser(user.email)
user._rev = dbUser._rev
user.dayPassRecordedAt = mocks.date.MOCK_DATE.toISOString()
delete user.password
expect(res.body._id).toBe(user._id)
expect(events.user.updated).toBeCalledTimes(1)
expect(events.user.updated).toBeCalledWith(user)
expect(events.user.passwordUpdated).toBeCalledTimes(1)
expect(events.user.passwordUpdated).toBeCalledWith(user)
})
})
})