My bootstrap.test.js file is as follows.
var Sails = require('sails');
before(function (done) {
process.env.NODE_ENV = 'test';
process.env.PORT = 9999;
Sails.lift({
models: {
connection: 'localDiskDb',
migrate: 'drop'
}
}, function (err, server) {
sails = server;
if (err) return done(err);
sails.log.info('***** Starting tests... *****');
console.log('\n');
done(null, sails);
});
});
after(function (done) {
sails.lower(done);
});
A very simple modal test is available at tests/integration/controllers/AuthController.spec.js as follows.
var assert = require('assert');
describe('PackagesModel', function() {
describe('Sample Test1', function() {
it('Sample test', function (done) {
assert.equal(-1, [1,2,3].indexOf(4));
done();
});
});
});
I try to run the mocha tests as follows.
node ./node_modules/mocha/bin/mocha tests/bootstrap.test.js tests/integration/**/*.spec.js
This results in the following error.
1) "before all" hook
0 passing (1s)
1 failing
1) "before all" hook:
Uncaught TypeError: policy.bind is not a function
at Object.policyHookDef.normalizePolicy (node_modules/sails/lib/hooks/policies/index.js:206:38)
at normalize_each_policy (node_modules/sails/lib/hooks/policies/index.js:192:34)
at arrayMap (node_modules/@sailshq/lodash/lib/index.js:1556:25)
at Function.map (node_modules/@sailshq/lodash/lib/index.js:6886:14)
at Object.policyHookDef.normalizePolicy (node_modules/sails/lib/hooks/policies/index.js:191:13)
at node_modules/sails/lib/hooks/policies/index.js:172:59
at node_modules/@sailshq/lodash/lib/index.js:3228:15
at baseForOwn (node_modules/@sailshq/lodash/lib/index.js:2199:14)
at node_modules/@sailshq/lodash/lib/index.js:3198:18
at Function.<anonymous> (node_modules/@sailshq/lodash/lib/index.js:3501:13)
at node_modules/sails/lib/hooks/policies/index.js:167:11
at node_modules/@sailshq/lodash/lib/index.js:3228:15
at baseForOwn (node_modules/@sailshq/lodash/lib/index.js:2199:14)
at node_modules/@sailshq/lodash/lib/index.js:3198:18
at Function.<anonymous> (node_modules/@sailshq/lodash/lib/index.js:3501:13)
at Hook.policyHookDef.buildPolicyMap (node_modules/sails/lib/hooks/policies/index.js:150:9)
at Hook.wrapper [as buildPolicyMap] (node_modules/@sailshq/lodash/lib/index.js:3250:19)
at Hook.policyHookDef.bindPolicies (node_modules/sails/lib/hooks/policies/index.js:67:27)
at Sails.wrapper (node_modules/@sailshq/lodash/lib/index.js:3250:19)
at Sails.emitter.emit (node_modules/sails/lib/app/private/after.js:50:11)
at Router.flush (node_modules/sails/lib/router/index.js:360:9)
at Router.wrapper [as flush] (node_modules/@sailshq/lodash/lib/index.js:3250:19)
at Router.load (node_modules/sails/lib/router/index.js:136:8)
at Array.wrapper (node_modules/@sailshq/lodash/lib/index.js:3250:19)
at listener (node_modules/sails/node_modules/async/lib/async.js:600:42)
at node_modules/sails/node_modules/async/lib/async.js:542:17
at _arrayEach (node_modules/sails/node_modules/async/lib/async.js:85:13)
at Immediate.taskComplete (node_modules/sails/node_modules/async/lib/async.js:541:13)
Any ideas on what might lead to this?