feat(api): GET /users responds with active and non-deleted users only

This commit is contained in:
Ali BARIN
2025-05-05 17:07:11 +00:00
parent 7cf582ce44
commit d38b585c76
2 changed files with 26 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import User from '../../../../models/user.js';
export default async (request, response) => { export default async (request, response) => {
const usersQuery = User.query() const usersQuery = User.query()
.where({ status: 'active' })
.withGraphFetched({ .withGraphFetched({
role: true, role: true,
}) })

View File

@@ -29,6 +29,11 @@ describe('GET /api/v1/users', () => {
fullName: 'User 2', fullName: 'User 2',
}); });
await createUser({
fullName: 'User 3',
status: 'invited',
});
token = (await createApiToken()).token; token = (await createApiToken()).token;
}); });
@@ -45,4 +50,24 @@ describe('GET /api/v1/users', () => {
expect(response.body).toStrictEqual(expectedResponsePayload); expect(response.body).toStrictEqual(expectedResponsePayload);
}); });
it('should return users data without soft deleted users', async () => {
const user = await createUser({
fullName: 'User 3',
});
await user.$query().delete();
const response = await request(app)
.get('/api/v1/users')
.set('x-api-token', token)
.expect(200);
const expectedResponsePayload = await getUsersMock(
[userOne, userTwo],
[userOneRole, userTwoRole]
);
expect(response.body).toStrictEqual(expectedResponsePayload);
});
}); });