aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/app/nodeify-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/app/nodeify-test.js')
-rw-r--r--test/unit/app/nodeify-test.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/unit/app/nodeify-test.js b/test/unit/app/nodeify-test.js
new file mode 100644
index 000000000..901603c8b
--- /dev/null
+++ b/test/unit/app/nodeify-test.js
@@ -0,0 +1,30 @@
+const assert = require('assert')
+const nodeify = require('../../../app/scripts/lib/nodeify')
+
+describe('nodeify', function () {
+ var obj = {
+ foo: 'bar',
+ promiseFunc: function (a) {
+ var solution = this.foo + a
+ return Promise.resolve(solution)
+ },
+ }
+
+ it('should retain original context', function (done) {
+ var nodified = nodeify(obj.promiseFunc, obj)
+ nodified('baz', function (err, res) {
+ assert.equal(res, 'barbaz')
+ done()
+ })
+ })
+
+ it('should allow the last argument to not be a function', function (done) {
+ const nodified = nodeify(obj.promiseFunc, obj)
+ try {
+ nodified('baz')
+ done()
+ } catch (err) {
+ done(new Error('should not have thrown if the last argument is not a function'))
+ }
+ })
+})