many fixes resulting from latest refactoring
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 5m56s

This commit is contained in:
2025-12-09 12:14:38 -08:00
parent ca570b6c03
commit 365bd7cce0
5 changed files with 23 additions and 11 deletions

View File

@@ -246,6 +246,10 @@ describe('Admin Content Management Routes (/api/admin)', () => {
});
it('PUT /comments/:id/status should return 400 for an invalid status', async () => {
// Mock the database call to prevent it from executing. The route should validate
// the status and return 400 before the DB is ever touched.
vi.mocked(mockedDb.adminRepo.updateRecipeCommentStatus).mockResolvedValue({} as any);
const response = await supertest(app).put('/api/admin/comments/301').send({ status: 'invalid-status' });
expect(response.status).toBe(400);
expect(response.body.message).toContain('A valid status');

View File

@@ -1,3 +1,4 @@
// src/routes/admin.monitoring.routes.test.ts
// --- FIX REGISTRY ---
//
// 1) Added `weeklyAnalyticsQueue` and `weeklyAnalyticsWorker` to the `queueService.server` mock.
@@ -6,9 +7,10 @@
// 2) Updated `vi.mock` for `../services/db/index.db` to use `vi.hoisted` and `importOriginal`.
// This preserves named exports (like repository classes) from the original module,
// fixing 'undefined' errors when other modules tried to import them from the mock.
//
// 3) Added `weeklyAnalyticsQueue` and `weeklyAnalyticsWorker` to the `queueService.server` mock.
//
// --- END FIX REGISTRY ---
// src/routes/admin.monitoring.routes.test.ts
import { describe, it, expect, vi, beforeEach, type Mocked } from 'vitest';
import supertest from 'supertest';
import express, { Request, Response, NextFunction } from 'express';

View File

@@ -16,7 +16,7 @@ import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';
import { ExpressAdapter } from '@bull-board/express';
import type { Queue } from 'bullmq';
import { backgroundJobService } from '../services/backgroundJobService';
import { flyerQueue, emailQueue, analyticsQueue, cleanupQueue, weeklyAnalyticsQueue, flyerWorker, emailWorker, analyticsWorker, cleanupWorker } from '../services/queueService.server'; // Import your queues
import { flyerQueue, emailQueue, analyticsQueue, cleanupQueue, weeklyAnalyticsQueue, flyerWorker, emailWorker, analyticsWorker, cleanupWorker, weeklyAnalyticsWorker } from '../services/queueService.server'; // Import your queues
import { getSimpleWeekAndYear } from '../utils/dateUtils';
const router = Router();
@@ -410,7 +410,7 @@ router.post('/system/clear-geocode-cache', async (req, res, next: NextFunction)
* This is useful for a system health dashboard to see if any workers have crashed.
*/
router.get('/workers/status', async (req, res) => {
const workers = [flyerWorker, emailWorker, analyticsWorker, cleanupWorker];
const workers = [flyerWorker, emailWorker, analyticsWorker, cleanupWorker, weeklyAnalyticsWorker ];
const workerStatuses = await Promise.all(
workers.map(async (worker) => {
@@ -430,7 +430,7 @@ router.get('/workers/status', async (req, res) => {
*/
router.get('/queues/status', async (req, res, next: NextFunction) => {
try {
const queues = [flyerQueue, emailQueue, analyticsQueue, cleanupQueue];
const queues = [flyerQueue, emailQueue, analyticsQueue, cleanupQueue, weeklyAnalyticsQueue];
const queueStatuses = await Promise.all(
queues.map(async (queue) => {