diff --git a/backend/__tests__/routes/auth.test.js b/backend/__tests__/routes/auth.test.js index 28a5fdd..e21d469 100644 --- a/backend/__tests__/routes/auth.test.js +++ b/backend/__tests__/routes/auth.test.js @@ -1,8 +1,20 @@ -// Mock CouchDB service for testing -jest.mock('../../services/couchdbService'); - const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const authRoutes = require('../../routes/auth'); const User = require('../../models/User'); const couchdbService = require('../../services/couchdbService'); diff --git a/backend/__tests__/routes/events.test.js b/backend/__tests__/routes/events.test.js index 193e71a..e106ea9 100644 --- a/backend/__tests__/routes/events.test.js +++ b/backend/__tests__/routes/events.test.js @@ -1,8 +1,24 @@ const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const eventsRoutes = require('../../routes/events'); const Event = require('../../models/Event'); const { createTestUser, createTestEvent } = require('../utils/testHelpers'); +const couchdbService = require('../../services/couchdbService'); // Create Express app for testing const app = express(); @@ -10,6 +26,9 @@ app.use(express.json()); app.use('/api/events', eventsRoutes); describe('Events Routes', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); describe('GET /api/events', () => { it('should get all events', async () => { const { user } = await createTestUser(); diff --git a/backend/__tests__/routes/reports.test.js b/backend/__tests__/routes/reports.test.js index 2e33436..edf41ac 100644 --- a/backend/__tests__/routes/reports.test.js +++ b/backend/__tests__/routes/reports.test.js @@ -1,8 +1,24 @@ const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const reportsRoutes = require('../../routes/reports'); const Report = require('../../models/Report'); const { createTestUser, createTestStreet, createTestReport } = require('../utils/testHelpers'); +const couchdbService = require('../../services/couchdbService'); // Create Express app for testing const app = express(); @@ -10,6 +26,9 @@ app.use(express.json()); app.use('/api/reports', reportsRoutes); describe('Reports Routes', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); describe('GET /api/reports', () => { it('should get all reports', async () => { const { user } = await createTestUser(); diff --git a/backend/__tests__/routes/rewards.test.js b/backend/__tests__/routes/rewards.test.js index 871c043..d4ed624 100644 --- a/backend/__tests__/routes/rewards.test.js +++ b/backend/__tests__/routes/rewards.test.js @@ -1,9 +1,25 @@ const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const rewardsRoutes = require('../../routes/rewards'); const Reward = require('../../models/Reward'); const User = require('../../models/User'); const { createTestUser, createTestReward } = require('../utils/testHelpers'); +const couchdbService = require('../../services/couchdbService'); // Create Express app for testing const app = express(); @@ -11,6 +27,9 @@ app.use(express.json()); app.use('/api/rewards', rewardsRoutes); describe('Rewards Routes', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); describe('GET /api/rewards', () => { it('should get all rewards', async () => { await createTestReward({ name: 'Reward 1', pointsCost: 50 }); diff --git a/backend/__tests__/routes/streets.test.js b/backend/__tests__/routes/streets.test.js index ad22c91..d336054 100644 --- a/backend/__tests__/routes/streets.test.js +++ b/backend/__tests__/routes/streets.test.js @@ -1,13 +1,32 @@ const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const streetRoutes = require('../../routes/streets'); const { createTestUser, createTestStreet } = require('../utils/testHelpers'); +const couchdbService = require('../../services/couchdbService'); const app = express(); app.use(express.json()); app.use('/api/streets', streetRoutes); describe('Street Routes', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); describe('GET /api/streets', () => { it('should get all streets', async () => { const { user } = await createTestUser(); diff --git a/backend/__tests__/routes/tasks.test.js b/backend/__tests__/routes/tasks.test.js index de703d0..b51b974 100644 --- a/backend/__tests__/routes/tasks.test.js +++ b/backend/__tests__/routes/tasks.test.js @@ -1,13 +1,32 @@ const request = require('supertest'); const express = require('express'); + +// Mock CouchDB service before importing routes +jest.mock('../../services/couchdbService', () => ({ + initialize: jest.fn().mockResolvedValue(true), + create: jest.fn(), + getById: jest.fn(), + find: jest.fn(), + createDocument: jest.fn(), + updateDocument: jest.fn(), + deleteDocument: jest.fn(), + findByType: jest.fn(), + findUserById: jest.fn(), + update: jest.fn(), +})); + const taskRoutes = require('../../routes/tasks'); const { createTestUser, createTestStreet, createTestTask } = require('../utils/testHelpers'); +const couchdbService = require('../../services/couchdbService'); const app = express(); app.use(express.json()); app.use('/api/tasks', taskRoutes); describe('Task Routes', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); describe('GET /api/tasks', () => { it('should get all tasks completed by authenticated user', async () => { const { user, token } = await createTestUser();