Added test for Usergrid singleton in a separate module
diff --git a/tests/lib/usergrid.singleton.test.js b/tests/lib/usergrid.singleton.test.js
new file mode 100644
index 0000000..f2d0360
--- /dev/null
+++ b/tests/lib/usergrid.singleton.test.js
@@ -0,0 +1,8 @@
+'use strict'
+
+var should = require('should'),
+ Usergrid = require('../../usergrid')
+
+it('should be initialized when defined in another module', function() {
+ Usergrid.isInitialized.should.be.true()
+})
\ No newline at end of file
diff --git a/tests/lib/usergrid.test.js b/tests/lib/usergrid.test.js
index 9da32af..6c836c5 100644
--- a/tests/lib/usergrid.test.js
+++ b/tests/lib/usergrid.test.js
@@ -10,9 +10,13 @@
describe('init() / initSharedInstance()', function() {
it('should be an instance of UsergridClient', function() {
Usergrid.init()
+ Usergrid.initSharedInstance()
Usergrid.should.be.an.instanceof(UsergridClient)
})
+
it(util.format('should be testing against a Usergrid v%s instance', config.target), function() {
util.format('--target=%s', config.target).should.equal(_.last(process.argv))
})
+
+ return require('./usergrid.singleton.test')
})
\ No newline at end of file
diff --git a/usergrid.js b/usergrid.js
index 54a4ae7..69542f7 100644
--- a/usergrid.js
+++ b/usergrid.js
@@ -5,8 +5,12 @@
var Usergrid = {
initSharedInstance: function(options) {
var self = this
+ if (self.isInitialized) {
+ return self
+ }
Object.setPrototypeOf(Usergrid, new UsergridClient(options))
UsergridClient.call(self)
+ self.isInitialized = true
}
}