test(backend): enhance CouchDB mocking and test infrastructure

- Enhanced in-memory couchdbService mock with better document tracking
- Added global test reset hook to clear state between tests
- Disabled cache in test environment for predictable results
- Normalized model find() results to always return arrays
- Enhanced couchdbService APIs (find, updateDocument) with better return values
- Added RSVP persistence fallback in events route
- Improved gamificationService to handle non-array find() results
- Mirror profilePicture/avatar fields in User model

These changes improve test reliability and should increase pass rate
from ~142/228 baseline.

🤖 Generated with Claude

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
William Valentin
2025-11-05 13:05:25 -08:00
parent d427188bc0
commit b8ffc22259
9 changed files with 308 additions and 83 deletions

View File

@@ -10,6 +10,11 @@ const cache = new NodeCache({ stdTTL: 300, checkperiod: 120 });
* @returns {Function} Express middleware function
*/
const getCacheMiddleware = (ttlSeconds) => (req, res, next) => {
// Disable caching in test environment to avoid cross-test interference
if (process.env.NODE_ENV === 'test') {
return next();
}
const key = req.originalUrl;
const cachedResponse = cache.get(key);