@dhyasama/totem-models 10.0.3 → 10.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +4 -0
- package/lib/Organization.js +1 -3
- package/lib/Person.js +50 -6
- package/package.json +5 -6
- package/test/Account.js +4 -5
- package/test/CalendarEvent.js +3 -6
- package/test/CapTable.js +3 -14
- package/test/Deal.js +3 -5
- package/test/Document.js +3 -15
- package/test/Event.js +3 -13
- package/test/EventAttendee.js +3 -13
- package/test/Financials.js +3 -5
- package/test/Flag.js +3 -6
- package/test/Fund.js +5 -7
- package/test/Interaction.js +3 -6
- package/test/Investment.js +3 -14
- package/test/LimitedPartner.js +3 -6
- package/test/List.js +3 -15
- package/test/Message.js +3 -6
- package/test/News.js +3 -5
- package/test/Note.js +4 -6
- package/test/Organization.js +7 -37
- package/test/Person.js +14 -37
- package/test/Round.js +6 -21
- package/test/Snapshot.js +3 -5
- package/test/databaseHelpers.js +56 -0
- package/test/Activity.js +0 -167
package/index.js
CHANGED
|
@@ -12,6 +12,10 @@ var bootstrap = function(mongoose, config) {
|
|
|
12
12
|
mongoose.set('useUnifiedTopology', true);
|
|
13
13
|
mongoose.set('useCreateIndex', true);
|
|
14
14
|
|
|
15
|
+
// TODO: Turn this off for now; It will be nice when we can go through all code to safely utilize it;
|
|
16
|
+
//https://mongoosejs.com/docs/migrating_to_5.html#id-getter
|
|
17
|
+
mongoose.set('objectIdGetter', false)
|
|
18
|
+
|
|
15
19
|
// turn on debug if in development and not explicitly turned off
|
|
16
20
|
mongoose.set('debug', (!config.suppressDebugLog && env == 'development'));//mongoose.set('debug',true);
|
|
17
21
|
|
package/lib/Organization.js
CHANGED
|
@@ -1914,7 +1914,7 @@ module.exports = function(mongoose, config) {
|
|
|
1914
1914
|
this
|
|
1915
1915
|
.find(query)
|
|
1916
1916
|
.populate('merged')
|
|
1917
|
-
.select('logoUrl name description related')
|
|
1917
|
+
.select('logoUrl name description related website')
|
|
1918
1918
|
.exec(function(err, orgs) {
|
|
1919
1919
|
|
|
1920
1920
|
if (err) return cb(err, null);
|
|
@@ -2117,9 +2117,7 @@ module.exports = function(mongoose, config) {
|
|
|
2117
2117
|
|
|
2118
2118
|
Organization.set('usePushEach', true);
|
|
2119
2119
|
Organization.set('toJSON', { virtuals: true });
|
|
2120
|
-
Organization.set('usePushEach', true);
|
|
2121
2120
|
Organization.set('autoIndex', false);
|
|
2122
|
-
Organization.set('usePushEach', true);
|
|
2123
2121
|
|
|
2124
2122
|
Organization.index({ website: 1, websiteAliases: 1 }, { unique: true, partialFilterExpression : { type :"string" } });
|
|
2125
2123
|
Organization.on('index', function(err) { console.log('error building organization_new indexes: ' + err); });
|
package/lib/Person.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const _ = require("underscore");
|
|
4
|
+
module.exports = function(mongoose, config) {
|
|
4
5
|
|
|
5
6
|
let
|
|
6
7
|
|
|
@@ -663,6 +664,47 @@ module.exports = function(mongoose, config) {
|
|
|
663
664
|
|
|
664
665
|
};
|
|
665
666
|
|
|
667
|
+
Person.statics.atlasSearch = function (query, options, cb) {
|
|
668
|
+
|
|
669
|
+
const self = this;
|
|
670
|
+
|
|
671
|
+
const defaultOptions = {
|
|
672
|
+
limit: 100
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
// combine provided and default options
|
|
676
|
+
options = _.defaults(options || {}, defaultOptions);
|
|
677
|
+
|
|
678
|
+
self.aggregate([
|
|
679
|
+
{
|
|
680
|
+
'$search': {
|
|
681
|
+
'index': 'default',
|
|
682
|
+
'text': {
|
|
683
|
+
'query': query,
|
|
684
|
+
'path': {
|
|
685
|
+
'wildcard': '*'
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}, {
|
|
690
|
+
'$match': {
|
|
691
|
+
'deleted': false
|
|
692
|
+
}
|
|
693
|
+
}, {
|
|
694
|
+
$limit: options.limit,
|
|
695
|
+
}, {
|
|
696
|
+
"$project": {
|
|
697
|
+
"_id": 1,
|
|
698
|
+
"fullName": 1,
|
|
699
|
+
"name": 1,
|
|
700
|
+
"avatarUrl": 1,
|
|
701
|
+
"score": { "$meta": "searchScore" }
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
], cb);
|
|
705
|
+
|
|
706
|
+
};
|
|
707
|
+
|
|
666
708
|
// search for people based on fields provided
|
|
667
709
|
// Data format, everything is optional
|
|
668
710
|
//{
|
|
@@ -804,12 +846,14 @@ module.exports = function(mongoose, config) {
|
|
|
804
846
|
query['$or'].push({ 'aliases': aliasRegExp });
|
|
805
847
|
}
|
|
806
848
|
|
|
849
|
+
// Super simple email validator works in this case. Just make sure it has an @ and a period.
|
|
850
|
+
data.emails = data.emails || [];
|
|
851
|
+
data.emails = _.filter(data.emails, function(email) { return email.indexOf('@') !== -1 && email.indexOf('.') !== -1; });
|
|
852
|
+
data.emails = data.emails.map(function(email){ return email.toLowerCase() })
|
|
853
|
+
|
|
807
854
|
// conditionally include emails and phones
|
|
808
|
-
if (data.emails) {
|
|
809
|
-
|
|
810
|
-
query['$or'].push({'contact.email.email': { $in : data.emails }});
|
|
811
|
-
}
|
|
812
|
-
if (data.phones) query['$or'].push({'contact.phone.number': { $in : data.phones }});
|
|
855
|
+
if (data.emails.length) { query['$or'].push({'contact.email.email': { $in : data.emails }}); }
|
|
856
|
+
if (data.phones && data.phones.length) query['$or'].push({'contact.phone.number': { $in : data.phones }});
|
|
813
857
|
|
|
814
858
|
query = cleanQuery(query);
|
|
815
859
|
return query;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dhyasama/totem-models",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.5",
|
|
4
4
|
"author": "Jason Reynolds",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"description": "Models for Totem platform",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"registry": "https://registry.npmjs.org/"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@dhyasama/totem-utilities": "^3.0.
|
|
18
|
+
"@dhyasama/totem-utilities": "^3.0.5",
|
|
19
19
|
"async": "^2.6.4",
|
|
20
20
|
"awesome-phonenumber": "^1.0.14",
|
|
21
21
|
"bluebird": "^3.7.2",
|
|
@@ -24,14 +24,13 @@
|
|
|
24
24
|
"mongoose-deep-populate": "^3.2.0",
|
|
25
25
|
"range_check": "^1.4.0",
|
|
26
26
|
"request": "^2.88.0",
|
|
27
|
-
"underscore": "
|
|
28
|
-
"validator": "^
|
|
27
|
+
"underscore": "^1.13.6",
|
|
28
|
+
"validator": "^13.7.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"mocha": "^
|
|
31
|
+
"mocha": "^10.1.0",
|
|
32
32
|
"mocha-mongoose": "^1.2.0",
|
|
33
33
|
"mongoose": "^5.13.15",
|
|
34
|
-
"nock": "^7.2.2",
|
|
35
34
|
"should": "^11.1.1"
|
|
36
35
|
}
|
|
37
36
|
}
|
package/test/Account.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
+
mongoose = require("mongoose"),
|
|
6
7
|
config = require('./config')['test'],
|
|
7
|
-
mongoose = require('mongoose'),
|
|
8
8
|
models = require('../index')(mongoose, config),
|
|
9
|
-
|
|
9
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
10
|
Account = mongoose.model('Account'),
|
|
11
11
|
Organization = mongoose.model('Organization'),
|
|
12
12
|
Person = mongoose.model('Person'),
|
|
@@ -18,12 +18,11 @@ var customer1, customer2;
|
|
|
18
18
|
describe('Account', function() {
|
|
19
19
|
|
|
20
20
|
before(function(done) {
|
|
21
|
-
|
|
22
|
-
mongoose.connect(config.db.uri, done);
|
|
21
|
+
databaseHelpers.connect(mongoose, done);
|
|
23
22
|
});
|
|
24
23
|
|
|
25
24
|
before(function(done) {
|
|
26
|
-
clearDB(done);
|
|
25
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
27
26
|
});
|
|
28
27
|
|
|
29
28
|
before(function(done) {
|
package/test/CalendarEvent.js
CHANGED
|
@@ -3,23 +3,20 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
CalendarEvent = mongoose.model('CalendarEvent');
|
|
10
9
|
|
|
11
10
|
var calendarEventId;
|
|
12
11
|
|
|
13
|
-
|
|
14
12
|
describe('CalendarEvent', function() {
|
|
15
13
|
|
|
16
14
|
before(function(done) {
|
|
17
|
-
|
|
18
|
-
mongoose.connect(config.db.uri, done);
|
|
15
|
+
databaseHelpers.connect(mongoose, done);
|
|
19
16
|
});
|
|
20
17
|
|
|
21
18
|
before(function(done) {
|
|
22
|
-
clearDB(done);
|
|
19
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
23
20
|
});
|
|
24
21
|
|
|
25
22
|
it('creates a calendar event', function(done) {
|
package/test/CapTable.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
CapTable = mongoose.model('CapTable'),
|
|
10
9
|
Fund = mongoose.model('Fund'),
|
|
11
10
|
Organization = mongoose.model('Organization');
|
|
@@ -19,23 +18,13 @@ var fund = new Fund();
|
|
|
19
18
|
describe('Cap Tables', function() {
|
|
20
19
|
|
|
21
20
|
before(function(done) {
|
|
22
|
-
|
|
23
|
-
mongoose.connect(config.db.uri, done);
|
|
21
|
+
databaseHelpers.connect(mongoose, done);
|
|
24
22
|
});
|
|
25
23
|
|
|
26
24
|
before(function(done) {
|
|
27
|
-
clearDB(done);
|
|
25
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
28
26
|
});
|
|
29
27
|
|
|
30
|
-
// before(function(done) {
|
|
31
|
-
// CapTable.collection.dropIndexes(function (err, result) {
|
|
32
|
-
// should.not.exist(err);
|
|
33
|
-
// should.exist(result);
|
|
34
|
-
// result.should.equal(true);
|
|
35
|
-
// return done();
|
|
36
|
-
// });
|
|
37
|
-
// });
|
|
38
|
-
|
|
39
28
|
before(function(done) {
|
|
40
29
|
|
|
41
30
|
fund.name = 'My Huge Fund';
|
package/test/Deal.js
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
_ = require('underscore'),
|
|
8
7
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
9
|
Account = mongoose.model('Account'),
|
|
11
10
|
Deal = mongoose.model('Deal'),
|
|
12
11
|
Organization = mongoose.model('Organization');
|
|
@@ -20,12 +19,11 @@ var timestamps = [];
|
|
|
20
19
|
describe('Deal', function() {
|
|
21
20
|
|
|
22
21
|
before(function(done) {
|
|
23
|
-
|
|
24
|
-
mongoose.connect(config.db.uri, done);
|
|
22
|
+
databaseHelpers.connect(mongoose, done);
|
|
25
23
|
});
|
|
26
24
|
|
|
27
25
|
before(function(done) {
|
|
28
|
-
clearDB(done);
|
|
26
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
29
27
|
});
|
|
30
28
|
|
|
31
29
|
before(function(done) {
|
package/test/Document.js
CHANGED
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
|
-
_ = require('underscore'),
|
|
8
6
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
8
|
Account = mongoose.model('Account'),
|
|
11
9
|
Deal = mongoose.model('Deal'),
|
|
12
10
|
Document = mongoose.model('Document'),
|
|
@@ -20,12 +18,11 @@ var deal, account, interaction, message, org, person, documentCreator, documentI
|
|
|
20
18
|
describe('Document', function() {
|
|
21
19
|
|
|
22
20
|
before(function(done) {
|
|
23
|
-
|
|
24
|
-
mongoose.connect(config.db.uri, done);
|
|
21
|
+
databaseHelpers.connect(mongoose, done);
|
|
25
22
|
});
|
|
26
23
|
|
|
27
24
|
before(function(done) {
|
|
28
|
-
clearDB(done);
|
|
25
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
29
26
|
});
|
|
30
27
|
|
|
31
28
|
before(function(done) {
|
|
@@ -67,15 +64,6 @@ describe('Document', function() {
|
|
|
67
64
|
|
|
68
65
|
});
|
|
69
66
|
|
|
70
|
-
before(function (done) {
|
|
71
|
-
Person.collection.dropIndexes(function (err, result) {
|
|
72
|
-
should.not.exist(err);
|
|
73
|
-
should.exist(result);
|
|
74
|
-
result.should.equal(true);
|
|
75
|
-
return done();
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
|
|
79
67
|
before(function(done) {
|
|
80
68
|
|
|
81
69
|
interaction = new Interaction({
|
package/test/Event.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
Event = mongoose.model('Event'),
|
|
10
9
|
EventAttendee = mongoose.model('EventAttendee');
|
|
11
10
|
|
|
@@ -18,20 +17,11 @@ let customerTwoEvent;
|
|
|
18
17
|
describe('Event', function() {
|
|
19
18
|
|
|
20
19
|
before(function(done) {
|
|
21
|
-
|
|
22
|
-
if (config.db.uri.indexOf('test') === -1) {
|
|
23
|
-
console.log('Not test db, shutting down');
|
|
24
|
-
process.exit();
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
if (mongoose.connection.db) { return done(); }
|
|
28
|
-
else { mongoose.connect(config.db.uri, done); }
|
|
29
|
-
}
|
|
30
|
-
|
|
20
|
+
databaseHelpers.connect(mongoose, done);
|
|
31
21
|
});
|
|
32
22
|
|
|
33
23
|
before(function(done) {
|
|
34
|
-
|
|
24
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
35
25
|
});
|
|
36
26
|
|
|
37
27
|
it('adds an event for a customer', function(done) {
|
package/test/EventAttendee.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
Event = mongoose.model('Event'),
|
|
10
9
|
EventAttendee = mongoose.model('EventAttendee');
|
|
11
10
|
|
|
@@ -18,20 +17,11 @@ let attendeeOne;
|
|
|
18
17
|
describe('EventAttendee', function() {
|
|
19
18
|
|
|
20
19
|
before(function(done) {
|
|
21
|
-
|
|
22
|
-
if (config.db.uri.indexOf('test') === -1) {
|
|
23
|
-
console.log('Not test db, shutting down');
|
|
24
|
-
process.exit();
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
if (mongoose.connection.db) { return done(); }
|
|
28
|
-
else { mongoose.connect(config.db.uri, done); }
|
|
29
|
-
}
|
|
30
|
-
|
|
20
|
+
databaseHelpers.connect(mongoose, done);
|
|
31
21
|
});
|
|
32
22
|
|
|
33
23
|
before(function(done) {
|
|
34
|
-
|
|
24
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
35
25
|
});
|
|
36
26
|
|
|
37
27
|
before(function(done) {
|
package/test/Financials.js
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
_ = require('underscore'),
|
|
7
6
|
config = require('./config')['test'],
|
|
8
7
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
9
|
Financials = mongoose.model('Financials');
|
|
11
10
|
|
|
12
11
|
var customerA = new mongoose.Types.ObjectId();
|
|
@@ -17,12 +16,11 @@ var orgB = new mongoose.Types.ObjectId();
|
|
|
17
16
|
describe('Financials', function() {
|
|
18
17
|
|
|
19
18
|
before(function(done) {
|
|
20
|
-
|
|
21
|
-
mongoose.connect(config.db.uri, done);
|
|
19
|
+
databaseHelpers.connect(mongoose, done);
|
|
22
20
|
});
|
|
23
21
|
|
|
24
22
|
before(function(done) {
|
|
25
|
-
clearDB(done);
|
|
23
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
26
24
|
});
|
|
27
25
|
|
|
28
26
|
it('creates a financial document', function(done) {
|
package/test/Flag.js
CHANGED
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
|
-
_ = require('underscore'),
|
|
8
6
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
8
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
11
9
|
Flag = mongoose.model('Flag'),
|
|
12
10
|
Organization = mongoose.model('Organization'),
|
|
@@ -19,12 +17,11 @@ var
|
|
|
19
17
|
describe('Flag', function() {
|
|
20
18
|
|
|
21
19
|
before(function(done) {
|
|
22
|
-
|
|
23
|
-
mongoose.connect(config.db.uri, done);
|
|
20
|
+
databaseHelpers.connect(mongoose, done);
|
|
24
21
|
});
|
|
25
22
|
|
|
26
23
|
before(function(done) {
|
|
27
|
-
clearDB(done);
|
|
24
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
28
25
|
});
|
|
29
26
|
|
|
30
27
|
before(function(done) {
|
package/test/Fund.js
CHANGED
|
@@ -3,20 +3,18 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
Fund = mongoose.model('Fund');
|
|
10
9
|
|
|
11
10
|
describe('Fund', function() {
|
|
12
11
|
|
|
13
|
-
before(function
|
|
14
|
-
|
|
15
|
-
mongoose.connect(config.db.uri, done);
|
|
12
|
+
before(function(done) {
|
|
13
|
+
databaseHelpers.connect(mongoose, done);
|
|
16
14
|
});
|
|
17
15
|
|
|
18
|
-
before(function
|
|
19
|
-
clearDB(done);
|
|
16
|
+
before(function(done) {
|
|
17
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
20
18
|
});
|
|
21
19
|
|
|
22
20
|
var myHugeFund;
|
package/test/Interaction.js
CHANGED
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
_ = require('underscore'),
|
|
7
|
-
config = require('./config')['test'],
|
|
8
6
|
mongoose = require('mongoose'),
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
moment = require('moment'),
|
|
10
|
-
clearDB = require('mocha-mongoose')(config.db.uri, {noClear: true}),
|
|
11
9
|
Interaction = mongoose.model('Interaction');
|
|
12
10
|
|
|
13
11
|
var totemCustomerId1 = new mongoose.Types.ObjectId();
|
|
@@ -18,12 +16,11 @@ var externalAttendee2 = new mongoose.Types.ObjectId();
|
|
|
18
16
|
describe('Interaction', function() {
|
|
19
17
|
|
|
20
18
|
before(function(done) {
|
|
21
|
-
|
|
22
|
-
mongoose.connect(config.db.uri, done);
|
|
19
|
+
databaseHelpers.connect(mongoose, done);
|
|
23
20
|
});
|
|
24
21
|
|
|
25
22
|
before(function(done) {
|
|
26
|
-
clearDB(done);
|
|
23
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
27
24
|
});
|
|
28
25
|
|
|
29
26
|
// calendarEventId: { type: Schema.ObjectId, ref: 'CalendarEvent', required: true }, // the event from the original pull
|
package/test/Investment.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
Investment = mongoose.model('Investment'),
|
|
10
9
|
Round = mongoose.model('Round');
|
|
11
10
|
|
|
@@ -14,23 +13,13 @@ var customerid = new mongoose.Types.ObjectId();
|
|
|
14
13
|
describe('Investments', function() {
|
|
15
14
|
|
|
16
15
|
before(function(done) {
|
|
17
|
-
|
|
18
|
-
mongoose.connect(config.db.uri, done);
|
|
16
|
+
databaseHelpers.connect(mongoose, done);
|
|
19
17
|
});
|
|
20
18
|
|
|
21
19
|
before(function(done) {
|
|
22
|
-
clearDB(done);
|
|
20
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
23
21
|
});
|
|
24
22
|
|
|
25
|
-
// before(function (done) {
|
|
26
|
-
// Investment.collection.dropIndexes(function (err, result) {
|
|
27
|
-
// should.not.exist(err);
|
|
28
|
-
// should.exist(result);
|
|
29
|
-
// result.should.equal(true);
|
|
30
|
-
// return done();
|
|
31
|
-
// });
|
|
32
|
-
// });
|
|
33
|
-
|
|
34
23
|
it('creates an investment', function(done) {
|
|
35
24
|
|
|
36
25
|
var inv = new Investment({
|
package/test/LimitedPartner.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
10
9
|
lp = new LimitedPartner(),
|
|
11
10
|
Person = mongoose.model('Person'),
|
|
@@ -17,16 +16,14 @@ var
|
|
|
17
16
|
Organization = mongoose.model('Organization'),
|
|
18
17
|
organization = new Organization();
|
|
19
18
|
|
|
20
|
-
|
|
21
19
|
describe('Limited Partner', function() {
|
|
22
20
|
|
|
23
21
|
before(function(done) {
|
|
24
|
-
|
|
25
|
-
mongoose.connect(config.db.uri, { useNewUrlParser: true, useUnifiedTopology: true }, done);
|
|
22
|
+
databaseHelpers.connect(mongoose, done);
|
|
26
23
|
});
|
|
27
24
|
|
|
28
25
|
before(function(done) {
|
|
29
|
-
|
|
26
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
30
27
|
});
|
|
31
28
|
|
|
32
29
|
before(function(done) {
|
package/test/List.js
CHANGED
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
|
-
_ = require('underscore'),
|
|
8
6
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
8
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
11
9
|
List = mongoose.model('List'),
|
|
12
10
|
Organization = mongoose.model('Organization'),
|
|
@@ -20,21 +18,11 @@ var
|
|
|
20
18
|
describe('List', function() {
|
|
21
19
|
|
|
22
20
|
before(function(done) {
|
|
23
|
-
|
|
24
|
-
mongoose.connect(config.db.uri, done);
|
|
21
|
+
databaseHelpers.connect(mongoose, done);
|
|
25
22
|
});
|
|
26
23
|
|
|
27
24
|
before(function(done) {
|
|
28
|
-
clearDB(done);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
before(function (done) {
|
|
32
|
-
Person.collection.dropIndexes(function (err, result) {
|
|
33
|
-
should.not.exist(err);
|
|
34
|
-
should.exist(result);
|
|
35
|
-
result.should.equal(true);
|
|
36
|
-
return done();
|
|
37
|
-
});
|
|
25
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
38
26
|
});
|
|
39
27
|
|
|
40
28
|
before(function(done) {
|
package/test/Message.js
CHANGED
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
|
-
_ = require('underscore'),
|
|
8
6
|
moment = require('moment'),
|
|
9
7
|
mongoose = require('mongoose'),
|
|
10
|
-
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
11
9
|
Document = mongoose.model('Document'),
|
|
12
10
|
Message = mongoose.model('Message'),
|
|
13
11
|
Note = mongoose.model('Note');
|
|
@@ -24,12 +22,11 @@ var messageOne;
|
|
|
24
22
|
describe('Message', function() {
|
|
25
23
|
|
|
26
24
|
before(function(done) {
|
|
27
|
-
|
|
28
|
-
mongoose.connect(config.db.uri, done);
|
|
25
|
+
databaseHelpers.connect(mongoose, done);
|
|
29
26
|
});
|
|
30
27
|
|
|
31
28
|
before(function(done) {
|
|
32
|
-
clearDB(done);
|
|
29
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
33
30
|
});
|
|
34
31
|
|
|
35
32
|
it('creates a message', function(done) {
|
package/test/News.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
let
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
News = mongoose.model('News'),
|
|
10
9
|
news = new News();
|
|
11
10
|
|
|
@@ -14,12 +13,11 @@ let companyId = new mongoose.Types.ObjectId();
|
|
|
14
13
|
describe('News', function() {
|
|
15
14
|
|
|
16
15
|
before(function(done) {
|
|
17
|
-
|
|
18
|
-
mongoose.connect(config.db.uri, done);
|
|
16
|
+
databaseHelpers.connect(mongoose, done);
|
|
19
17
|
});
|
|
20
18
|
|
|
21
19
|
before(function(done) {
|
|
22
|
-
|
|
20
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
23
21
|
});
|
|
24
22
|
|
|
25
23
|
it('adds a news item', function(done) {
|
package/test/Note.js
CHANGED
|
@@ -3,25 +3,23 @@
|
|
|
3
3
|
let
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
10
9
|
Note = mongoose.model('Note'),
|
|
11
10
|
Organization = mongoose.model('Organization'),
|
|
12
11
|
Person = mongoose.model('Person');
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
let lp, org, person, person2, person3, person4, noteCreator, noteId;
|
|
15
14
|
|
|
16
15
|
describe('Note', function() {
|
|
17
16
|
|
|
18
17
|
before(function(done) {
|
|
19
|
-
|
|
20
|
-
mongoose.connect(config.db.uri, done);
|
|
18
|
+
databaseHelpers.connect(mongoose, done);
|
|
21
19
|
});
|
|
22
20
|
|
|
23
21
|
before(function(done) {
|
|
24
|
-
clearDB(done);
|
|
22
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
25
23
|
});
|
|
26
24
|
|
|
27
25
|
before(function(done) {
|
package/test/Organization.js
CHANGED
|
@@ -4,14 +4,12 @@ var
|
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
6
|
_ = require('underscore'),
|
|
7
|
-
config = require('./config')['test'],
|
|
8
7
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
9
|
Organization = mongoose.model('Organization'),
|
|
11
10
|
Person = mongoose.model('Person'),
|
|
12
11
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
13
12
|
Fund = mongoose.model('Fund'),
|
|
14
|
-
Deal = mongoose.model('Deal'),
|
|
15
13
|
Account = mongoose.model('Account');
|
|
16
14
|
|
|
17
15
|
var person, person1, person2;
|
|
@@ -26,40 +24,12 @@ describe('Organization', function() {
|
|
|
26
24
|
var org1, org2, org3, org4, org5;
|
|
27
25
|
var mergeId = new mongoose.Types.ObjectId();
|
|
28
26
|
|
|
29
|
-
before(function
|
|
30
|
-
|
|
31
|
-
mongoose.connect(config.db.uri, done);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
before(function (done) {
|
|
35
|
-
clearDB(done);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
before(function (done) {
|
|
39
|
-
Organization.collection.dropIndexes(function (err, result) {
|
|
40
|
-
should.not.exist(err);
|
|
41
|
-
should.exist(result);
|
|
42
|
-
result.should.equal(true);
|
|
43
|
-
return done();
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
before(function (done) {
|
|
48
|
-
Person.collection.dropIndexes(function (err, result) {
|
|
49
|
-
should.not.exist(err);
|
|
50
|
-
should.exist(result);
|
|
51
|
-
result.should.equal(true);
|
|
52
|
-
return done();
|
|
53
|
-
});
|
|
27
|
+
before(function(done) {
|
|
28
|
+
databaseHelpers.connect(mongoose, done);
|
|
54
29
|
});
|
|
55
30
|
|
|
56
|
-
before(function
|
|
57
|
-
|
|
58
|
-
should.not.exist(err);
|
|
59
|
-
should.exist(result);
|
|
60
|
-
result.should.equal(true);
|
|
61
|
-
return done();
|
|
62
|
-
});
|
|
31
|
+
before(function(done) {
|
|
32
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
63
33
|
});
|
|
64
34
|
|
|
65
35
|
before(function (done) {
|
|
@@ -546,9 +516,9 @@ describe('Organization', function() {
|
|
|
546
516
|
});
|
|
547
517
|
|
|
548
518
|
it('finds a fuzzy match by domain', function (done) {
|
|
549
|
-
|
|
519
|
+
//domain: 'thesong'
|
|
550
520
|
Organization.search({
|
|
551
|
-
|
|
521
|
+
name: 'Fudge 3'
|
|
552
522
|
}, {admin: true}, function (err, results) {
|
|
553
523
|
should.not.exist(err);
|
|
554
524
|
should.exist(results);
|
package/test/Person.js
CHANGED
|
@@ -4,9 +4,8 @@ var
|
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
6
|
_ = require('underscore'),
|
|
7
|
-
config = require('./config')['test'],
|
|
8
7
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
10
9
|
LimitedPartner = mongoose.model('LimitedPartner'),
|
|
11
10
|
Person = mongoose.model('Person'),
|
|
12
11
|
Organization = mongoose.model('Organization'),
|
|
@@ -39,44 +38,11 @@ org4.slug = 'testy-org-4';
|
|
|
39
38
|
describe('Person', function() {
|
|
40
39
|
|
|
41
40
|
before(function(done) {
|
|
42
|
-
|
|
43
|
-
mongoose.connect(config.db.uri, done);
|
|
41
|
+
databaseHelpers.connect(mongoose, done);
|
|
44
42
|
});
|
|
45
43
|
|
|
46
44
|
before(function(done) {
|
|
47
|
-
clearDB(done);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
before(function (done) {
|
|
51
|
-
|
|
52
|
-
Person.collection.dropIndexes(function (err, result) {
|
|
53
|
-
|
|
54
|
-
should.not.exist(err);
|
|
55
|
-
should.exist(result);
|
|
56
|
-
result.should.equal(true);
|
|
57
|
-
|
|
58
|
-
return done();
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
before(function (done) {
|
|
65
|
-
LimitedPartner.collection.dropIndexes(function (err, result) {
|
|
66
|
-
should.not.exist(err);
|
|
67
|
-
should.exist(result);
|
|
68
|
-
result.should.equal(true);
|
|
69
|
-
return done();
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
before(function (done) {
|
|
74
|
-
Organization.collection.dropIndexes(function (err, result) {
|
|
75
|
-
should.not.exist(err);
|
|
76
|
-
should.exist(result);
|
|
77
|
-
result.should.equal(true);
|
|
78
|
-
return done();
|
|
79
|
-
});
|
|
45
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
80
46
|
});
|
|
81
47
|
|
|
82
48
|
before(function(done) {
|
|
@@ -263,6 +229,17 @@ describe('Person', function() {
|
|
|
263
229
|
|
|
264
230
|
describe('search', function() {
|
|
265
231
|
|
|
232
|
+
it.skip('uses atlas search', function(done) {
|
|
233
|
+
|
|
234
|
+
Person.atlasSearch('jason@totemvc.com', { limit: 5 }, function(err, result) {
|
|
235
|
+
should.not.exist(err);
|
|
236
|
+
should.exist(result);
|
|
237
|
+
console.log(result);
|
|
238
|
+
done();
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
})
|
|
242
|
+
|
|
266
243
|
it('searches by phone and email', function (done) {
|
|
267
244
|
|
|
268
245
|
Person.search({
|
package/test/Round.js
CHANGED
|
@@ -4,13 +4,10 @@ var
|
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
6
|
_ = require('underscore'),
|
|
7
|
-
config = require('./config')['test'],
|
|
8
7
|
mongoose = require('mongoose'),
|
|
9
|
-
|
|
10
|
-
Fund = mongoose.model('Fund'),
|
|
8
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
11
9
|
Investment = mongoose.model('Investment'),
|
|
12
10
|
Organization = mongoose.model('Organization'),
|
|
13
|
-
Person = mongoose.model('Person'),
|
|
14
11
|
Round = mongoose.model('Round');
|
|
15
12
|
|
|
16
13
|
var orgid = new mongoose.Types.ObjectId();
|
|
@@ -18,13 +15,14 @@ var personid = new mongoose.Types.ObjectId();
|
|
|
18
15
|
var fundid = new mongoose.Types.ObjectId();
|
|
19
16
|
var organization, organization2, fund, person, investment, investment2;
|
|
20
17
|
|
|
21
|
-
describe('Rounds', function() {
|
|
18
|
+
describe.skip('Rounds', function() {
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
before(function(done) {
|
|
21
|
+
databaseHelpers.connect(mongoose, done);
|
|
22
|
+
});
|
|
24
23
|
|
|
25
24
|
before(function(done) {
|
|
26
|
-
|
|
27
|
-
mongoose.connect(config.db.uri, done);
|
|
25
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
28
26
|
});
|
|
29
27
|
|
|
30
28
|
it('test', function(done) {
|
|
@@ -44,19 +42,6 @@ describe('Rounds', function() {
|
|
|
44
42
|
|
|
45
43
|
});
|
|
46
44
|
|
|
47
|
-
// before(function(done) {
|
|
48
|
-
// clearDB(done);
|
|
49
|
-
// });
|
|
50
|
-
|
|
51
|
-
// before(function (done) {
|
|
52
|
-
// Round.collection.dropIndexes(function (err, result) {
|
|
53
|
-
// should.not.exist(err);
|
|
54
|
-
// should.exist(result);
|
|
55
|
-
// result.should.equal(true);
|
|
56
|
-
// return done();
|
|
57
|
-
// });
|
|
58
|
-
// });
|
|
59
|
-
|
|
60
45
|
// before(function(done) {
|
|
61
46
|
//
|
|
62
47
|
// fund = new Fund({
|
package/test/Snapshot.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var
|
|
4
4
|
|
|
5
5
|
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
6
|
mongoose = require('mongoose'),
|
|
8
|
-
|
|
7
|
+
databaseHelpers = require('./databaseHelpers'),
|
|
9
8
|
Organization = mongoose.model('Organization'),
|
|
10
9
|
Person = mongoose.model('Person'),
|
|
11
10
|
Snapshot = mongoose.model('Snapshot');
|
|
@@ -15,12 +14,11 @@ var org, person;
|
|
|
15
14
|
describe('Snapshot', function() {
|
|
16
15
|
|
|
17
16
|
before(function(done) {
|
|
18
|
-
|
|
19
|
-
mongoose.connect(config.db.uri, done);
|
|
17
|
+
databaseHelpers.connect(mongoose, done);
|
|
20
18
|
});
|
|
21
19
|
|
|
22
20
|
before(function(done) {
|
|
23
|
-
clearDB(done);
|
|
21
|
+
databaseHelpers.clearDB(mongoose, done);
|
|
24
22
|
});
|
|
25
23
|
|
|
26
24
|
before(function(done) {
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const async = require('async');
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
|
|
7
|
+
connect: function (mongoose, cb) {
|
|
8
|
+
|
|
9
|
+
if (mongoose.connection.db) return cb();
|
|
10
|
+
|
|
11
|
+
const config = require('./config')['test'];
|
|
12
|
+
|
|
13
|
+
console.log('Connecting to', config.db.uri);
|
|
14
|
+
|
|
15
|
+
if (config.db.uri.indexOf('test') === -1) {
|
|
16
|
+
console.error('Attempt to connect to non-test database');
|
|
17
|
+
process.exit();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
mongoose.connect(config.db.uri, cb);
|
|
21
|
+
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
clearDB: function (mongoose, cb) {
|
|
25
|
+
|
|
26
|
+
const databaseName = mongoose.connection.db.databaseName;
|
|
27
|
+
|
|
28
|
+
if (databaseName !== 'test') {
|
|
29
|
+
console.error('Attempt to clear non-test database');
|
|
30
|
+
process.exit();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
mongoose.connection.db.collections(function(err, collections) {
|
|
34
|
+
|
|
35
|
+
if (err) {
|
|
36
|
+
console.log('Get collections error');
|
|
37
|
+
return cb(err);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const collectionNames = collections.map((collection) => collection.collectionName)
|
|
41
|
+
|
|
42
|
+
async.each(collectionNames, function(collectionName, callback) {
|
|
43
|
+
mongoose.connection.db.dropCollection(collectionName, function(err) {
|
|
44
|
+
if (err) {
|
|
45
|
+
console.log('Drop Collection error');
|
|
46
|
+
console.error(err);
|
|
47
|
+
}
|
|
48
|
+
return callback();
|
|
49
|
+
});
|
|
50
|
+
}, cb);
|
|
51
|
+
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
package/test/Activity.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
should = require("should"),
|
|
6
|
-
config = require('./config')['test'],
|
|
7
|
-
mongoose = require('mongoose'),
|
|
8
|
-
clearDB = require('mocha-mongoose')(config.db.uri, {noClear: true}),
|
|
9
|
-
Activity = mongoose.model('Activity'),
|
|
10
|
-
username = 'STING',
|
|
11
|
-
remoteAddress = '108.29.95.108',
|
|
12
|
-
nock = require('nock');
|
|
13
|
-
|
|
14
|
-
describe.skip('Activity', function() {
|
|
15
|
-
|
|
16
|
-
before(function(done) {
|
|
17
|
-
if (mongoose.connection.db) return done();
|
|
18
|
-
mongoose.connect(config.db.uri, done);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
before(function(done) {
|
|
22
|
-
clearDB(done);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('adds a login success for a new user', function(done) {
|
|
26
|
-
|
|
27
|
-
var scope = nock('https://freegeoip.net/json')
|
|
28
|
-
.get('/' + remoteAddress)
|
|
29
|
-
.reply(200, {
|
|
30
|
-
ip: '108.29.95.108',
|
|
31
|
-
country_code: 'US',
|
|
32
|
-
country_name: 'United States',
|
|
33
|
-
region_code: 'NY',
|
|
34
|
-
region_name: 'New York',
|
|
35
|
-
city: 'New York',
|
|
36
|
-
zip_code: '10036',
|
|
37
|
-
time_zone: 'America/New_York',
|
|
38
|
-
latitude: 40.7605,
|
|
39
|
-
longitude: -73.9933,
|
|
40
|
-
metro_code: 501
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
Activity.add(username, 'LOGIN SUCCESS', remoteAddress, null, null, function(err, item) {
|
|
44
|
-
should.not.exist(err);
|
|
45
|
-
should.exist(item);
|
|
46
|
-
item.type.should.equal('LOGIN SUCCESS');
|
|
47
|
-
done();
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('adds a document download', function(done) {
|
|
53
|
-
|
|
54
|
-
var scope = nock('https://freegeoip.net/json')
|
|
55
|
-
.get('/' + remoteAddress)
|
|
56
|
-
.reply(200, {
|
|
57
|
-
ip: '108.29.95.108',
|
|
58
|
-
country_code: 'US',
|
|
59
|
-
country_name: 'United States',
|
|
60
|
-
region_code: 'NY',
|
|
61
|
-
region_name: 'New York',
|
|
62
|
-
city: 'New York',
|
|
63
|
-
zip_code: '10036',
|
|
64
|
-
time_zone: 'America/New_York',
|
|
65
|
-
latitude: 40.7605,
|
|
66
|
-
longitude: -73.9933,
|
|
67
|
-
metro_code: 501
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
Activity.add(username, 'DOCUMENT DOWNLOAD', remoteAddress, '/messages/123456789', 'report.pdf', function(err, item) {
|
|
71
|
-
should.not.exist(err);
|
|
72
|
-
should.exist(item);
|
|
73
|
-
item.type.should.equal('DOCUMENT DOWNLOAD');
|
|
74
|
-
done();
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
it('finds all activity for a user', function(done) {
|
|
80
|
-
|
|
81
|
-
var scope = nock('https://freegeoip.net/json')
|
|
82
|
-
.get('/' + remoteAddress)
|
|
83
|
-
.reply(200, {
|
|
84
|
-
ip: '108.29.95.108',
|
|
85
|
-
country_code: 'US',
|
|
86
|
-
country_name: 'United States',
|
|
87
|
-
region_code: 'NY',
|
|
88
|
-
region_name: 'New York',
|
|
89
|
-
city: 'New York',
|
|
90
|
-
zip_code: '10036',
|
|
91
|
-
time_zone: 'America/New_York',
|
|
92
|
-
latitude: 40.7605,
|
|
93
|
-
longitude: -73.9933,
|
|
94
|
-
metro_code: 501
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
Activity.list(username, 2, function(err, activity) {
|
|
98
|
-
should.not.exist(err);
|
|
99
|
-
should.exist(activity);
|
|
100
|
-
activity.items.length.should.equal(2);
|
|
101
|
-
done();
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
it('adds activity without a username', function(done) {
|
|
107
|
-
|
|
108
|
-
var scope = nock('https://freegeoip.net/json')
|
|
109
|
-
.get('/' + remoteAddress)
|
|
110
|
-
.reply(200, {
|
|
111
|
-
ip: '108.29.95.108',
|
|
112
|
-
country_code: 'US',
|
|
113
|
-
country_name: 'United States',
|
|
114
|
-
region_code: 'NY',
|
|
115
|
-
region_name: 'New York',
|
|
116
|
-
city: 'New York',
|
|
117
|
-
zip_code: '10036',
|
|
118
|
-
time_zone: 'America/New_York',
|
|
119
|
-
latitude: 40.7605,
|
|
120
|
-
longitude: -73.9933,
|
|
121
|
-
metro_code: 501
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
try {
|
|
125
|
-
Activity.add(null, 'LOGIN SUCCESS', remoteAddress, null, null, function(err, item) {
|
|
126
|
-
should.not.exist(item);
|
|
127
|
-
done();
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
catch (err) {
|
|
131
|
-
err.message.should.equal('username is required');
|
|
132
|
-
done();
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it('adds activity with an invalid remoteAddress', function(done) {
|
|
138
|
-
|
|
139
|
-
var scope = nock('https://freegeoip.net/json')
|
|
140
|
-
.get('/' + remoteAddress)
|
|
141
|
-
.reply(200, {
|
|
142
|
-
ip: '108.29.95.108',
|
|
143
|
-
country_code: 'US',
|
|
144
|
-
country_name: 'United States',
|
|
145
|
-
region_code: 'NY',
|
|
146
|
-
region_name: 'New York',
|
|
147
|
-
city: 'New York',
|
|
148
|
-
zip_code: '10036',
|
|
149
|
-
time_zone: 'America/New_York',
|
|
150
|
-
latitude: 40.7605,
|
|
151
|
-
longitude: -73.9933,
|
|
152
|
-
metro_code: 501
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
Activity.add(username, 'LOGIN SUCCESS', 'UNKNOWN', null, null, function(err, item) {
|
|
156
|
-
should.not.exist(err);
|
|
157
|
-
should.exist(item);
|
|
158
|
-
item.type.should.equal('LOGIN SUCCESS');
|
|
159
|
-
var x = item.geolocation;
|
|
160
|
-
x.should.be.an.Object;
|
|
161
|
-
//item.geolocation.should.be.an.Object.and.be.empty;
|
|
162
|
-
done();
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
});
|