mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-05 19:40:30 +08:00
test(server): omit owner before create (#11059)
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { getCurrentUserQuery } from '@affine/graphql';
|
import { getCurrentUserQuery } from '@affine/graphql';
|
||||||
|
|
||||||
|
import { Mockers } from '../mocks';
|
||||||
import { app, e2e } from './test';
|
import { app, e2e } from './test';
|
||||||
|
|
||||||
e2e('should create test app correctly', async t => {
|
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 });
|
const user = await app.gql({ query: getCurrentUserQuery });
|
||||||
t.is(user.currentUser, null);
|
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);
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { faker } from '@faker-js/faker';
|
import { faker } from '@faker-js/faker';
|
||||||
import type { Prisma, Workspace } from '@prisma/client';
|
import type { Prisma, Workspace } from '@prisma/client';
|
||||||
|
import { omit } from 'lodash-es';
|
||||||
|
|
||||||
import { WorkspaceRole } from '../../models';
|
import { WorkspaceRole } from '../../models';
|
||||||
import { Mocker } from './factory';
|
import { Mocker } from './factory';
|
||||||
@@ -12,15 +13,17 @@ export type MockedWorkspace = Workspace;
|
|||||||
|
|
||||||
export class MockWorkspace extends Mocker<MockWorkspaceInput, MockedWorkspace> {
|
export class MockWorkspace extends Mocker<MockWorkspaceInput, MockedWorkspace> {
|
||||||
override async create(input?: Partial<MockWorkspaceInput>) {
|
override async create(input?: Partial<MockWorkspaceInput>) {
|
||||||
|
const owner = input?.owner;
|
||||||
|
input = omit(input, 'owner');
|
||||||
return await this.db.workspace.create({
|
return await this.db.workspace.create({
|
||||||
data: {
|
data: {
|
||||||
name: faker.animal.cat(),
|
name: faker.animal.cat(),
|
||||||
public: false,
|
public: false,
|
||||||
...input,
|
...input,
|
||||||
permissions: input?.owner
|
permissions: owner
|
||||||
? {
|
? {
|
||||||
create: {
|
create: {
|
||||||
userId: 'id' in input.owner ? input.owner.id : input.owner,
|
userId: owner.id,
|
||||||
type: WorkspaceRole.Owner,
|
type: WorkspaceRole.Owner,
|
||||||
status: 'Accepted',
|
status: 'Accepted',
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user