mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 09:52:48 +00:00
Switch to Calc's simplified test spec
This commit is contained in:
@@ -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/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user