integration test fixes
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 16m38s

This commit is contained in:
2026-01-18 16:23:34 -08:00
parent 6da4b5e9d0
commit cd46f1d4c2
2 changed files with 21 additions and 10 deletions

View File

@@ -275,10 +275,16 @@ describe('Admin API Routes Integration Tests', () => {
describe('DELETE /api/admin/users/:id', () => {
it("should allow an admin to delete another user's account", async () => {
// Create a dedicated user for this deletion test to avoid affecting other tests
const { user: userToDelete } = await createAndLoginUser({
email: `delete-target-${Date.now()}@test.com`,
fullName: 'User To Delete',
request,
});
// Act: Call the delete endpoint as an admin.
const targetUserId = regularUser.user.user_id;
const response = await request
.delete(`/api/admin/users/${targetUserId}`)
.delete(`/api/admin/users/${userToDelete.user.user_id}`)
.set('Authorization', `Bearer ${adminToken}`);
// Assert: Check for a successful deletion status.
@@ -354,7 +360,7 @@ describe('Admin API Routes Integration Tests', () => {
.post('/api/admin/trigger/analytics-report')
.set('Authorization', `Bearer ${adminToken}`);
expect(response.status).toBe(200);
expect(response.status).toBe(202); // 202 Accepted for async job enqueue
expect(response.body.success).toBe(true);
expect(response.body.data.message).toContain('enqueued');
});
@@ -374,7 +380,7 @@ describe('Admin API Routes Integration Tests', () => {
.post('/api/admin/trigger/weekly-analytics')
.set('Authorization', `Bearer ${adminToken}`);
expect(response.status).toBe(200);
expect(response.status).toBe(202); // 202 Accepted for async job enqueue
expect(response.body.success).toBe(true);
expect(response.body.data.message).toContain('enqueued');
});
@@ -394,9 +400,9 @@ describe('Admin API Routes Integration Tests', () => {
.post('/api/admin/trigger/daily-deal-check')
.set('Authorization', `Bearer ${adminToken}`);
expect(response.status).toBe(200);
expect(response.status).toBe(202); // 202 Accepted for async job trigger
expect(response.body.success).toBe(true);
expect(response.body.data.message).toContain('enqueued');
expect(response.body.data.message).toContain('triggered');
});
it('should forbid regular users from triggering daily deal check', async () => {
@@ -466,7 +472,11 @@ describe('Admin API Routes Integration Tests', () => {
expect(response.status).toBe(200);
expect(response.body.success).toBe(true);
expect(response.body.data).toBeInstanceOf(Array);
// The endpoint returns { users: [...], total: N }
expect(response.body.data).toHaveProperty('users');
expect(response.body.data).toHaveProperty('total');
expect(response.body.data.users).toBeInstanceOf(Array);
expect(typeof response.body.data.total).toBe('number');
});
it('should forbid regular users from listing all users', async () => {

View File

@@ -52,9 +52,10 @@ describe('Reactions API Routes Integration Tests', () => {
vi.unstubAllEnvs();
// Clean up reactions created during tests
if (createdReactionIds.length > 0) {
await getPool().query('DELETE FROM public.reactions WHERE reaction_id = ANY($1::int[])', [
createdReactionIds,
]);
await getPool().query(
'DELETE FROM public.user_reactions WHERE reaction_id = ANY($1::int[])',
[createdReactionIds],
);
}
await cleanupDb({
userIds: createdUserIds,