0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 14:12:40 +00:00

Switch to Calc's simplified test spec

This commit is contained in:
G.Ambatte
2025-10-05 15:40:40 +13:00
parent 88bc9b79c9
commit c17a5e72b9

View File

@@ -2,54 +2,27 @@ import mongoose from 'mongoose';
import dbCheck from './dbCheck.js';
import config from '../config.js';
describe('database check middleware', ()=>{
let request;
let response;
let next;
describe('dbCheck middleware', ()=>{
const next = jest.fn();
beforeEach(()=>{
request = {
get : function(key) {
return this[key];
}
};
response = {
status : jest.fn(()=>response),
send : jest.fn(()=>{})
};
next = jest.fn();
// Mock the Config module
jest.mock('../config.js');
config.get = jest.fn((param)=>{
// The requested key name will be reflected to the output
return param;
});
});
afterEach(()=>{
jest.clearAllMocks();
});
it('should return 503 if readystate != 1', ()=>{
const dbState = mongoose.connection.readyState;
mongoose.connection.readyState = 99;
expect(()=>{dbCheck(request, response);}).toThrow(new Error('Unable to connect to database'));
mongoose.connection.readyState = dbState;
});
it('should call next if readystate == 1', ()=>{
const dbState = mongoose.connection.readyState;
mongoose.connection.readyState = 1;
dbCheck(request, response, next);
mongoose.connection.readyState = dbState;
afterEach(()=>jest.clearAllMocks());
it('should skip check in test mode', ()=>{
config.get = jest.fn(()=>'test');
expect(()=>dbCheck({}, {}, next)).not.toThrow();
expect(next).toHaveBeenCalled();
});
});
it('should call next if readyState == 1', ()=>{
config.get = jest.fn(()=>'production');
mongoose.connection.readyState = 1;
dbCheck({}, {}, next);
expect(next).toHaveBeenCalled();
});
it('should throw if readyState != 1', ()=>{
config.get = jest.fn(()=>'production');
mongoose.connection.readyState = 99;
expect(()=>dbCheck({}, {}, next)).toThrow(/Unable to connect/);
});
});