2022-11-12 04:43:41 +13:00
|
|
|
import { TestConfiguration } from "../../../../tests"
|
|
|
|
import { tenancy } from "@budibase/backend-core"
|
2022-11-12 00:10:07 +13:00
|
|
|
|
|
|
|
describe("/api/global/workspaces", () => {
|
|
|
|
const config = new TestConfiguration()
|
|
|
|
|
|
|
|
beforeAll(async () => {
|
|
|
|
await config.beforeAll()
|
|
|
|
})
|
|
|
|
|
|
|
|
afterAll(async () => {
|
|
|
|
await config.afterAll()
|
|
|
|
})
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
jest.clearAllMocks()
|
|
|
|
})
|
|
|
|
|
|
|
|
describe("DELETE /api/system/tenants/:tenantId", () => {
|
|
|
|
it("allows deleting the current tenant", async () => {
|
|
|
|
const user = await config.createTenant()
|
2022-11-12 04:43:41 +13:00
|
|
|
|
|
|
|
await config.api.tenants.delete(user.tenantId, {
|
2022-11-12 00:10:07 +13:00
|
|
|
headers: config.authHeaders(user),
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2022-11-12 04:43:41 +13:00
|
|
|
it("rejects deleting another tenant", async () => {
|
|
|
|
const user1 = await config.createTenant()
|
|
|
|
// create a second user in another tenant
|
|
|
|
const user2 = await config.createTenant()
|
|
|
|
|
|
|
|
const status = 403
|
|
|
|
const res = await config.api.tenants.delete(user1.tenantId, {
|
|
|
|
status,
|
|
|
|
headers: config.authHeaders(user2),
|
|
|
|
})
|
|
|
|
|
|
|
|
expect(res.body).toEqual({
|
|
|
|
message: "Tenant ID does not match current user",
|
|
|
|
status,
|
|
|
|
})
|
|
|
|
})
|
2022-11-12 00:10:07 +13:00
|
|
|
|
2022-11-12 04:43:41 +13:00
|
|
|
it("rejects non-admin", async () => {
|
|
|
|
const user1 = await config.createTenant()
|
|
|
|
// create an internal non-admin user
|
|
|
|
const user2 = await tenancy.doInTenant(user1.tenantId, () => {
|
|
|
|
return config.createUser()
|
|
|
|
})
|
|
|
|
await config.createSession(user2)
|
|
|
|
|
|
|
|
const res = await config.api.tenants.delete(user1.tenantId, {
|
|
|
|
status: 403,
|
|
|
|
headers: config.authHeaders(user2),
|
|
|
|
})
|
|
|
|
|
|
|
|
expect(res.body).toEqual(config.adminOnlyResponse())
|
|
|
|
})
|
2022-11-12 00:10:07 +13:00
|
|
|
})
|
|
|
|
})
|