mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-29 08:09:52 +08:00
feat(server): search workspace users support case insensitive (#11422)
close CLOUD-193
This commit is contained in:
@@ -0,0 +1,66 @@
|
|||||||
|
import { getMembersByWorkspaceIdQuery } from '@affine/graphql';
|
||||||
|
import { faker } from '@faker-js/faker';
|
||||||
|
|
||||||
|
import { Mockers } from '../../mocks';
|
||||||
|
import { app, e2e } from '../test';
|
||||||
|
|
||||||
|
e2e(
|
||||||
|
'should search members by name and email support case insensitive',
|
||||||
|
async t => {
|
||||||
|
const owner = await app.create(Mockers.User);
|
||||||
|
const workspace = await app.create(Mockers.Workspace, {
|
||||||
|
owner: { id: owner.id },
|
||||||
|
});
|
||||||
|
const user1 = await app.create(Mockers.User, {
|
||||||
|
name: faker.internet.displayName({ firstName: 'Lucy' }),
|
||||||
|
});
|
||||||
|
const user2 = await app.create(Mockers.User, {
|
||||||
|
email: faker.internet.email({
|
||||||
|
firstName: 'Jeanne',
|
||||||
|
lastName: 'Doe',
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
await app.create(Mockers.WorkspaceUser, {
|
||||||
|
workspaceId: workspace.id,
|
||||||
|
userId: user1.id,
|
||||||
|
});
|
||||||
|
await app.create(Mockers.WorkspaceUser, {
|
||||||
|
workspaceId: workspace.id,
|
||||||
|
userId: user2.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
await app.login(owner);
|
||||||
|
let result = await app.gql({
|
||||||
|
query: getMembersByWorkspaceIdQuery,
|
||||||
|
variables: {
|
||||||
|
workspaceId: workspace.id,
|
||||||
|
query: 'lucy',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
t.is(result.workspace.memberCount, 3);
|
||||||
|
t.is(result.workspace.members.length, 1);
|
||||||
|
t.is(result.workspace.members[0].name, user1.name);
|
||||||
|
|
||||||
|
result = await app.gql({
|
||||||
|
query: getMembersByWorkspaceIdQuery,
|
||||||
|
variables: {
|
||||||
|
workspaceId: workspace.id,
|
||||||
|
query: 'LUCY',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
t.is(result.workspace.memberCount, 3);
|
||||||
|
t.is(result.workspace.members.length, 1);
|
||||||
|
t.is(result.workspace.members[0].name, user1.name);
|
||||||
|
|
||||||
|
result = await app.gql({
|
||||||
|
query: getMembersByWorkspaceIdQuery,
|
||||||
|
variables: {
|
||||||
|
workspaceId: workspace.id,
|
||||||
|
query: 'jeanne_doe',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
t.is(result.workspace.memberCount, 3);
|
||||||
|
t.is(result.workspace.members.length, 1);
|
||||||
|
t.is(result.workspace.members[0].email, user2.email);
|
||||||
|
}
|
||||||
|
);
|
||||||
@@ -322,11 +322,13 @@ export class WorkspaceUserModel extends BaseModel {
|
|||||||
{
|
{
|
||||||
email: {
|
email: {
|
||||||
contains: query,
|
contains: query,
|
||||||
|
mode: 'insensitive',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: {
|
name: {
|
||||||
contains: query,
|
contains: query,
|
||||||
|
mode: 'insensitive',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user