diff --git a/backend/app/api/user/logout/auth.test.ts b/backend/app/api/user/logout/auth.test.ts deleted file mode 100644 index b50c3d4..0000000 --- a/backend/app/api/user/logout/auth.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { GET } from './route'; - -jest.mock('@/lib/session', () => ({ - verifySession: jest.fn(() => ({ - isAuth: true, - uid: 3, - })), - deleteSession: jest.fn(() => {}), -})); - -test('Logout succeeds for valid session', async () => { - const res = await GET(); - const data = await res.json(); - - expect(data.success).toBeTruthy(); -}); diff --git a/backend/app/api/user/logout/noAuth.test.ts b/backend/app/api/user/logout/noAuth.test.ts deleted file mode 100644 index 2c85181..0000000 --- a/backend/app/api/user/logout/noAuth.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { GET } from './route'; - -jest.mock('@/lib/session', () => ({ - verifySession: jest.fn(() => ({ - isAuth: false, - })), - deleteSession: jest.fn(() => {}), -})); - -test('Logout fails for invalid session', async () => { - const res = await GET(); - const data = await res.json(); - - expect(data.error).toEqual('User not authenticated'); -}); diff --git a/backend/app/api/user/logout/route.test.ts b/backend/app/api/user/logout/route.test.ts new file mode 100644 index 0000000..c7fcc66 --- /dev/null +++ b/backend/app/api/user/logout/route.test.ts @@ -0,0 +1,31 @@ +import { verifySession } from '@/lib/session'; +import { GET } from './route'; + +jest.mock('@/lib/session', () => ({ + verifySession: jest.fn(), + deleteSession: jest.fn(), +})); + +const mockVerifySession = verifySession as jest.Mock; + +test('Logout succeeds for valid session', async () => { + mockVerifySession.mockResolvedValue({ + isAuth: true, + uid: 2, + }); + + const res = await GET(); + const data = await res.json(); + + expect(data.success).toBeTruthy(); +}); + +test('Logout fails for invalid session', async () => { + mockVerifySession.mockResolvedValue({ + isAuth: false, + }); + const res = await GET(); + const data = await res.json(); + + expect(data.error).toEqual('User not authenticated'); +}); diff --git a/backend/app/api/user/noAuth.test.ts b/backend/app/api/user/noAuth.test.ts deleted file mode 100644 index dc70972..0000000 --- a/backend/app/api/user/noAuth.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { DELETE } from './route'; - -jest.mock('@/lib/session', () => ({ - verifySession: jest.fn(() => ({ - isAuth: false, - })), - deleteSession: jest.fn(() => {}), -})); - -test('Delete fails for an invalid session', async () => { - const res = await DELETE(); - const data = await res.json(); - - expect(res.status).toEqual(400); - expect(data.error).toBe('Invalid session'); -}); diff --git a/backend/app/api/user/auth.test.ts b/backend/app/api/user/route.test.ts similarity index 52% rename from backend/app/api/user/auth.test.ts rename to backend/app/api/user/route.test.ts index a259c56..e3fb69c 100644 --- a/backend/app/api/user/auth.test.ts +++ b/backend/app/api/user/route.test.ts @@ -1,16 +1,21 @@ +import { verifySession } from '@/lib/session'; import { prismaMock } from '@/__test__/singleton'; import { User } from '@prisma/client'; import { DELETE } from './route'; jest.mock('@/lib/session', () => ({ - verifySession: jest.fn(() => ({ - isAuth: true, - uid: 2, - })), - deleteSession: jest.fn(() => {}), + verifySession: jest.fn(), + deleteSession: jest.fn(), })); +const mockVerifySession = verifySession as jest.Mock; + test('Delete succeeds if user is authenticated', async () => { + mockVerifySession.mockResolvedValue({ + isAuth: true, + uid: 1, + }); + const temporaryUser: User = { id: 1, username: 'test', @@ -24,3 +29,15 @@ test('Delete succeeds if user is authenticated', async () => { expect(data.success).toBe(true); }); + +test('Delete fails for an invalid session', async () => { + mockVerifySession.mockResolvedValue({ + isAuth: false, + }); + + const res = await DELETE(); + const data = await res.json(); + + expect(res.status).toEqual(400); + expect(data.error).toBe('Invalid session'); +});