fix(core): Pagination was broken for users list (#16697)

This commit is contained in:
Andreas Fitzek
2025-06-25 16:54:22 +02:00
committed by GitHub
parent 909b65d266
commit a6ded1fc80
2 changed files with 25 additions and 7 deletions

View File

@@ -42,6 +42,7 @@ const testServer = utils.setupTestServer({
describe('GET /users', () => {
let owner: User;
let member1: User;
let member2: User;
let ownerAgent: SuperAgentTest;
let userRepository: UserRepository;
@@ -63,7 +64,7 @@ describe('GET /users', () => {
lastName: 'Member1LastName',
mfaEnabled: true,
});
await createUser({
member2 = await createUser({
role: 'global:member',
email: 'member2@n8n.io',
firstName: 'Member2FirstName',
@@ -77,6 +78,10 @@ describe('GET /users', () => {
mfaEnabled: true,
});
for (let i = 0; i < 10; i++) {
await createTeamProject(`project${i}`, member1);
}
ownerAgent = testServer.authAgentFor(owner);
});
@@ -435,6 +440,18 @@ describe('GET /users', () => {
response.body.data.items.forEach(validateUser);
});
test('should return all users with large enough take', async () => {
const response = await ownerAgent
.get('/users')
.query('take=5&expand[]=projectRelations&sortBy[]=role:desc')
.expect(200);
expect(response.body.data.count).toBe(4);
expect(response.body.data.items).toHaveLength(4);
response.body.data.items.forEach(validateUser);
});
test('should return all users with negative take', async () => {
const users: User[] = [];
@@ -488,12 +505,12 @@ describe('GET /users', () => {
describe('expand', () => {
test('should expand on team projects', async () => {
const project = await createTeamProject('Test Project');
await linkUserToProject(member1, project, 'project:admin');
await linkUserToProject(member2, project, 'project:admin');
const response = await ownerAgent
.get('/users')
.query(
`filter={ "email": "${member1.email}" }&select[]=firstName&take=1&expand[]=projectRelations&sortBy[]=role:asc`,
`filter={ "email": "${member2.email}" }&select[]=firstName&take=1&expand[]=projectRelations&sortBy[]=role:asc`,
)
.expect(200);