mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-27 11:12:28 +01:00
51 lines
1.8 KiB
JavaScript
51 lines
1.8 KiB
JavaScript
import os from 'os';
|
|
import nconf from 'nconf';
|
|
import requireAgain from 'require-again';
|
|
|
|
const pathToMongoLib = '../../../../website/server/libs/mongodb';
|
|
|
|
describe('mongodb', () => {
|
|
afterEach(() => {
|
|
sandbox.restore();
|
|
});
|
|
|
|
describe('getDevelopmentConnectionUrl', () => {
|
|
it('returns the original connection url if not on windows', () => {
|
|
sandbox.stub(os, 'platform').returns('linux');
|
|
const mongoLibOverride = requireAgain(pathToMongoLib);
|
|
|
|
const originalString = 'mongodb://localhost:3030';
|
|
const string = mongoLibOverride.getDevelopmentConnectionUrl(originalString);
|
|
expect(string).to.equal(originalString);
|
|
});
|
|
|
|
it('replaces localhost with hostname on windows', () => {
|
|
sandbox.stub(os, 'platform').returns('win32');
|
|
sandbox.stub(os, 'hostname').returns('hostname');
|
|
const mongoLibOverride = requireAgain(pathToMongoLib);
|
|
|
|
const originalString = 'mongodb://localhost:3030';
|
|
const string = mongoLibOverride.getDevelopmentConnectionUrl(originalString);
|
|
expect(string).to.equal('mongodb://hostname:3030');
|
|
});
|
|
});
|
|
|
|
describe('getDefaultConnectionOptions', () => {
|
|
it('returns development config when IS_PROD is false', () => {
|
|
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(false);
|
|
const mongoLibOverride = requireAgain(pathToMongoLib);
|
|
|
|
const options = mongoLibOverride.getDefaultConnectionOptions();
|
|
expect(options).to.have.all.keys(['useNewUrlParser', 'useUnifiedTopology']);
|
|
});
|
|
|
|
it('returns production config when IS_PROD is true', () => {
|
|
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
|
|
const mongoLibOverride = requireAgain(pathToMongoLib);
|
|
|
|
const options = mongoLibOverride.getDefaultConnectionOptions();
|
|
expect(options).to.have.all.keys(['useNewUrlParser', 'useUnifiedTopology']);
|
|
});
|
|
});
|
|
});
|