1
0
Fork 0
mirror of synced 2024-05-27 07:40:17 +12:00
budibase/qa-core/src/tests/public-api/users/users.spec.ts
2022-09-15 19:51:11 +01:00

50 lines
1.5 KiB
TypeScript

import TestConfiguration from "../../../config/public-api/TestConfiguration"
import PublicAPIClient from "../../../config/public-api/TestConfiguration/PublicAPIClient"
import generateUser from "../../../config/public-api/fixtures/users"
import { User } from "@budibase/server/api/controllers/public/mapping/types"
describe("Public API - /users endpoints", () => {
const api = new PublicAPIClient()
const config = new TestConfiguration<User>(api)
beforeAll(async () => {
await config.beforeAll()
const [_, user] = await config.users.seed()
config.context = user
})
afterAll(async () => {
await config.afterAll()
})
it("POST - Create a user", async () => {
const [response, user] = await config.users.create(generateUser())
expect(response).toHaveStatusCode(200)
expect(user._id).toBeDefined()
})
it("POST - Search users", async () => {
const [response, users] = await config.users.search({
name: config.context.email,
})
expect(response).toHaveStatusCode(200)
expect(users[0]).toEqual(config.context)
})
it("GET - Retrieve a user", async () => {
const [response, user] = await config.users.read(config.context._id)
expect(response).toHaveStatusCode(200)
expect(user).toEqual(config.context)
})
it("PUT - update a user", async () => {
config.context.firstName = "Updated First Name"
const [response, user] = await config.users.update(
config.context._id,
config.context
)
expect(response).toHaveStatusCode(200)
expect(user).toEqual(config.context)
})
})