From ee45108feadea2c68d61a87d3bbbc65672917894 Mon Sep 17 00:00:00 2001 From: Kevin Szuchet <31735779+kevinszuchet@users.noreply.github.com> Date: Wed, 29 Jan 2025 11:45:12 -0300 Subject: [PATCH] fix: Error with order on count query (#45) --- src/adapters/db.ts | 15 +++++++++------ test/unit/adapters/db.spec.ts | 10 ++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/adapters/db.ts b/src/adapters/db.ts index ae86f81..c8dd6e5 100644 --- a/src/adapters/db.ts +++ b/src/adapters/db.ts @@ -73,15 +73,18 @@ export function createDBComponent(components: Pick<AppComponents, 'pg' | 'logs'> FROM friendship_actions fa2 WHERE fa2.friendship_id = fa.friendship_id ) - ORDER BY fa.timestamp DESC `) - if (limit) { - baseQuery.append(SQL` LIMIT ${limit}`) - } + if (!onlyCount) { + baseQuery.append(SQL` ORDER BY fa.timestamp DESC`) + + if (limit) { + baseQuery.append(SQL` LIMIT ${limit}`) + } - if (offset) { - baseQuery.append(SQL` OFFSET ${offset}`) + if (offset) { + baseQuery.append(SQL` OFFSET ${offset}`) + } } return baseQuery diff --git a/test/unit/adapters/db.spec.ts b/test/unit/adapters/db.spec.ts index 9f0847b..01753b3 100644 --- a/test/unit/adapters/db.spec.ts +++ b/test/unit/adapters/db.spec.ts @@ -293,6 +293,11 @@ describe('db', () => { const result = await dbComponent.getReceivedFriendshipRequestsCount('0x456') expect(result).toBe(mockCount) + expect(mockPg.query).not.toHaveBeenCalledWith( + expect.objectContaining({ + text: expect.stringContaining('ORDER BY fa.timestamp DESC') + }) + ) }) }) @@ -336,6 +341,11 @@ describe('db', () => { const result = await dbComponent.getSentFriendshipRequestsCount('0x123') expect(result).toBe(mockCount) + expect(mockPg.query).not.toHaveBeenCalledWith( + expect.objectContaining({ + text: expect.stringContaining('ORDER BY fa.timestamp DESC') + }) + ) }) })