test(server): add more test for team workspace (#9182)

This commit is contained in:
darkskygit
2024-12-17 08:42:19 +00:00
parent 95d1a4a27d
commit 27d4aa7ca7
8 changed files with 486 additions and 48 deletions

View File

@@ -65,6 +65,34 @@ export async function inviteUsers(
return res.body.data.inviteBatch;
}
export async function getInviteLink(
app: INestApplication,
token: string,
workspaceId: string
): Promise<{ link: string; expireTime: string }> {
const res = await request(app.getHttpServer())
.post(gql)
.auth(token, { type: 'bearer' })
.set({ 'x-request-id': 'test', 'x-operation-name': 'test' })
.send({
query: `
query {
workspace(id: "${workspaceId}") {
inviteLink {
link
expireTime
}
}
}
`,
})
.expect(200);
if (res.body.errors) {
throw new Error(res.body.errors[0].message);
}
return res.body.data.workspace.inviteLink;
}
export async function createInviteLink(
app: INestApplication,
token: string,
@@ -92,6 +120,29 @@ export async function createInviteLink(
return res.body.data.createInviteLink;
}
export async function revokeInviteLink(
app: INestApplication,
token: string,
workspaceId: string
): Promise<boolean> {
const res = await request(app.getHttpServer())
.post(gql)
.auth(token, { type: 'bearer' })
.set({ 'x-request-id': 'test', 'x-operation-name': 'test' })
.send({
query: `
mutation {
revokeInviteLink(workspaceId: "${workspaceId}")
}
`,
})
.expect(200);
if (res.body.errors) {
throw new Error(res.body.errors[0].message);
}
return res.body.data.revokeInviteLink;
}
export async function acceptInviteById(
app: INestApplication,
workspaceId: string,
@@ -119,6 +170,32 @@ export async function acceptInviteById(
return res.body.data.acceptInviteById;
}
export async function approveMember(
app: INestApplication,
token: string,
workspaceId: string,
userId: string
): Promise<string> {
const res = await request(app.getHttpServer())
.post(gql)
.set({ 'x-request-id': 'test', 'x-operation-name': 'test' })
.auth(token, { type: 'bearer' })
.send({
query: `
mutation {
approveMember(workspaceId: "${workspaceId}", userId: "${userId}")
}
`,
})
.expect(200);
if (res.body.errors) {
throw new Error(res.body.errors[0].message, {
cause: res.body.errors[0].cause,
});
}
return res.body.data.approveMember;
}
export async function leaveWorkspace(
app: INestApplication,
token: string,
@@ -161,6 +238,11 @@ export async function revokeUser(
`,
})
.expect(200);
if (res.body.errors) {
throw new Error(res.body.errors[0].message, {
cause: res.body.errors[0].cause,
});
}
return res.body.data.revoke;
}

View File

@@ -71,7 +71,7 @@ export async function getWorkspace(
query: `
query {
workspace(id: "${workspaceId}") {
id, members(skip: ${skip}, take: ${take}) { id, name, email, permission, inviteId }
id, members(skip: ${skip}, take: ${take}) { id, name, email, permission, inviteId, status }
}
}
`,