test(server): omit owner before create (#11059)

This commit is contained in:
fengmk2
2025-03-24 03:32:24 +00:00
parent 28f8639aff
commit d62c8642fb
2 changed files with 14 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
import { getCurrentUserQuery } from '@affine/graphql';
import { Mockers } from '../mocks';
import { app, e2e } from './test';
e2e('should create test app correctly', async t => {
@@ -16,3 +17,11 @@ e2e('should handle gql request', async t => {
const user = await app.gql({ query: getCurrentUserQuery });
t.is(user.currentUser, null);
});
e2e('should create workspace with owner', async t => {
const user = await app.signup();
const workspace = await app.create(Mockers.Workspace, {
owner: { id: user.id },
});
t.truthy(workspace);
});

View File

@@ -1,5 +1,6 @@
import { faker } from '@faker-js/faker';
import type { Prisma, Workspace } from '@prisma/client';
import { omit } from 'lodash-es';
import { WorkspaceRole } from '../../models';
import { Mocker } from './factory';
@@ -12,15 +13,17 @@ export type MockedWorkspace = Workspace;
export class MockWorkspace extends Mocker<MockWorkspaceInput, MockedWorkspace> {
override async create(input?: Partial<MockWorkspaceInput>) {
const owner = input?.owner;
input = omit(input, 'owner');
return await this.db.workspace.create({
data: {
name: faker.animal.cat(),
public: false,
...input,
permissions: input?.owner
permissions: owner
? {
create: {
userId: 'id' in input.owner ? input.owner.id : input.owner,
userId: owner.id,
type: WorkspaceRole.Owner,
status: 'Accepted',
},