From 6e65a8fc6f15e1a0301111e398e39d0e3282c210 Mon Sep 17 00:00:00 2001 From: steven-supersolid Date: Fri, 11 Mar 2016 17:08:39 +0000 Subject: [PATCH] Add test for options being passed to MongoAdapter from DatabaseAdapter --- spec/DatabaseAdapter.spec.js | 23 +++++++++++++++++++++++ spec/helper.js | 4 ++-- src/DatabaseAdapter.js | 5 +++-- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 spec/DatabaseAdapter.spec.js diff --git a/spec/DatabaseAdapter.spec.js b/spec/DatabaseAdapter.spec.js new file mode 100644 index 00000000..0f43a16b --- /dev/null +++ b/spec/DatabaseAdapter.spec.js @@ -0,0 +1,23 @@ +'use strict'; + +let DatabaseAdapter = require('../src/DatabaseAdapter'); + +describe('DatabaseAdapter', () => { + it('options and URI are available to adapter', done => { + DatabaseAdapter.setAppDatabaseURI('optionsTest', 'mongodb://localhost:27017/optionsTest'); + DatabaseAdapter.setAppDatabaseOptions('optionsTest', {foo: "bar"}); + let optionsTestDatabaseConnection = DatabaseAdapter.getDatabaseConnection('optionsTest'); + + expect(optionsTestDatabaseConnection instanceof Object).toBe(true); + expect(optionsTestDatabaseConnection.adapter._options instanceof Object).toBe(true); + expect(optionsTestDatabaseConnection.adapter._options.foo).toBe("bar"); + + DatabaseAdapter.setAppDatabaseURI('noOptionsTest', 'mongodb://localhost:27017/noOptionsTest'); + let noOptionsTestDatabaseConnection = DatabaseAdapter.getDatabaseConnection('noOptionsTest'); + + expect(noOptionsTestDatabaseConnection instanceof Object).toBe(true); + expect(noOptionsTestDatabaseConnection.adapter._options instanceof Object).toBe(false); + + done(); + }); +}); diff --git a/spec/helper.js b/spec/helper.js index e2daa6ed..74f9dbbd 100644 --- a/spec/helper.js +++ b/spec/helper.js @@ -26,7 +26,7 @@ var defaultConfiguration = { collectionPrefix: 'test_', fileKey: 'test', push: { - 'ios': { + 'ios': { cert: 'prodCert.pem', key: 'prodKey.pem', production: true, @@ -81,7 +81,7 @@ afterEach(function(done) { Parse.User.logOut().then(() => { return clearData(); }).then(() => { - DatabaseAdapter.clearDatabaseURIs(); + DatabaseAdapter.clearDatabaseSettings(); done(); }, (error) => { console.log('error in clearData', error); diff --git a/src/DatabaseAdapter.js b/src/DatabaseAdapter.js index dbc7c6ac..51403ba3 100644 --- a/src/DatabaseAdapter.js +++ b/src/DatabaseAdapter.js @@ -43,9 +43,10 @@ function setAppDatabaseOptions(appId: string, options: Object) { } //Used by tests -function clearDatabaseURIs() { +function clearDatabaseSettings() { appDatabaseURIs = {}; dbConnections = {}; + appDatabaseOptions = {}; } function getDatabaseConnection(appId: string, collectionPrefix: string) { @@ -69,6 +70,6 @@ module.exports = { setDatabaseURI: setDatabaseURI, setAppDatabaseOptions: setAppDatabaseOptions, setAppDatabaseURI: setAppDatabaseURI, - clearDatabaseURIs: clearDatabaseURIs, + clearDatabaseSettings: clearDatabaseSettings, defaultDatabaseURI: databaseURI };