loopback/test/support.js

54 lines
1.4 KiB
JavaScript
Raw Normal View History

2013-04-09 16:02:36 +00:00
/**
2013-07-16 17:49:25 +00:00
* loopback test setup and support.
2013-04-09 16:02:36 +00:00
*/
2013-06-07 19:57:51 +00:00
assert = require('assert');
expect = require('chai').expect;
2013-07-16 17:49:25 +00:00
loopback = require('../');
memoryConnector = loopback.Memory;
GeoPoint = loopback.GeoPoint;
2013-06-11 18:07:49 +00:00
app = null;
2013-08-01 18:31:30 +00:00
TaskEmitter = require('strong-task-emitter');
2013-06-12 22:44:38 +00:00
request = require('supertest');
2014-05-03 03:04:06 +00:00
var RemoteObjects = require('strong-remoting');
2013-06-07 19:57:51 +00:00
// Speed up the password hashing algorithm
// for tests using the built-in User model
loopback.User.settings.saltWorkFactor = 4;
2014-11-21 02:35:36 +00:00
beforeEach(function() {
this.app = app = loopback();
// setup default data sources
loopback.setDefaultDataSourceForType('db', {
connector: loopback.Memory
});
loopback.setDefaultDataSourceForType('mail', {
connector: loopback.Mail,
transports: [
{type: 'STUB'}
]
});
2013-06-11 16:01:44 +00:00
});
2014-11-21 02:35:36 +00:00
assertValidDataSource = function(dataSource) {
2013-06-11 16:01:44 +00:00
// has methods
assert.isFunc(dataSource, 'createModel');
2013-06-21 23:48:53 +00:00
assert.isFunc(dataSource, 'discoverModelDefinitions');
assert.isFunc(dataSource, 'discoverSchema');
assert.isFunc(dataSource, 'enableRemote');
assert.isFunc(dataSource, 'disableRemote');
2013-06-11 16:01:44 +00:00
assert.isFunc(dataSource, 'defineOperation');
assert.isFunc(dataSource, 'operations');
};
2013-06-11 16:01:44 +00:00
2014-11-21 02:35:36 +00:00
assert.isFunc = function(obj, name) {
2013-06-11 16:01:44 +00:00
assert(obj, 'cannot assert function ' + name + ' on object that doesnt exist');
assert(typeof obj[name] === 'function', name + ' is not a function');
};
if (!('Promise' in global)) {
global.Promise = require('bluebird');
}