mirror of
https://github.com/atlanticbiomedical/biomedjs.git
synced 2025-07-02 00:47:26 -04:00
Added node-modules
This commit is contained in:
138
node_modules/mongoose-pureautoinc/tests/test.js
generated
vendored
Normal file
138
node_modules/mongoose-pureautoinc/tests/test.js
generated
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
/**
|
||||
* @author Dmitry Ilin @ MyLove Company, LLC <dmitry@mylovecompany.com>
|
||||
*/
|
||||
|
||||
var vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
events = require('events'),
|
||||
mongoose = require('../node_modules/mongoose'),
|
||||
pureautoinc = require('../index'),
|
||||
Schema = mongoose.Schema,
|
||||
db = mongoose.createConnection('127.0.0.1', 'pureautoinc_test');
|
||||
|
||||
pureautoinc.init(db);
|
||||
|
||||
|
||||
var suite = vows.describe('Testing Schema creation and auto incrementing');
|
||||
|
||||
suite.addBatch({
|
||||
|
||||
'After schema creation and plugin application': {
|
||||
|
||||
topic: function () {
|
||||
|
||||
var schema = new Schema({
|
||||
email: String,
|
||||
text: String
|
||||
});
|
||||
|
||||
var pluginParameters = {
|
||||
model: 'Subscriber',
|
||||
field: 'sequenceNumber'
|
||||
};
|
||||
|
||||
schema.plugin(pureautoinc.plugin, pluginParameters);
|
||||
|
||||
var Subscriber = db.model('Subscriber', schema);
|
||||
|
||||
var Test = {
|
||||
model: db.model('Subscriber'),
|
||||
pluginParameters: pluginParameters
|
||||
};
|
||||
|
||||
return Test;
|
||||
},
|
||||
|
||||
'schema gained auto increment field': function (topic) {
|
||||
|
||||
assert.ok(topic.model.schema.paths[topic.pluginParameters.field]);
|
||||
},
|
||||
|
||||
'and model created': {
|
||||
|
||||
topic: function (Model) {
|
||||
|
||||
var promise = new (events.EventEmitter);
|
||||
|
||||
var subscriber;
|
||||
var count = 5;
|
||||
|
||||
function save (counter) {
|
||||
|
||||
subscriber = new Model.model({
|
||||
email: 'useremail@emailserver.com',
|
||||
text: 'some text'
|
||||
});
|
||||
|
||||
subscriber.save(function (err, res) {
|
||||
|
||||
if (err)
|
||||
promise.emit('error', err, Model);
|
||||
else if (counter < count)
|
||||
save(++counter);
|
||||
else
|
||||
promise.emit('success', res, Model);
|
||||
});
|
||||
}
|
||||
save(1);
|
||||
|
||||
return promise;
|
||||
},
|
||||
|
||||
'data saved successfully': function (err, res, Model) {
|
||||
|
||||
assert.ok(res);
|
||||
},
|
||||
|
||||
'and if we look at indexes': {
|
||||
|
||||
topic: function (promise, Model) {
|
||||
|
||||
var promise = new (events.EventEmitter);
|
||||
|
||||
Model.model.collection.getIndexes(function (err, res) {
|
||||
if (err)
|
||||
promise.emit('error', err, Model);
|
||||
else
|
||||
promise.emit('success', res, Model);
|
||||
});
|
||||
|
||||
return promise;
|
||||
},
|
||||
|
||||
'index created successfully': function (err, res, Model) {
|
||||
|
||||
assert.ok(res[Model.pluginParameters.field + '_1']);
|
||||
},
|
||||
|
||||
'and after documents created': {
|
||||
|
||||
topic: function (promise, Model) {
|
||||
|
||||
var promise = new (events.EventEmitter);
|
||||
|
||||
Model.model.find({}, function (err, res) {
|
||||
|
||||
Model.model.collection.drop(function (err) { });
|
||||
|
||||
var counter = Model.pluginParameters.start;
|
||||
for (var i = 0; i < res.length; i++) {
|
||||
if (res[i][Model.pluginParameters.field] != counter)
|
||||
promise.emit('error', err, Model);
|
||||
counter++;
|
||||
}
|
||||
promise.emit('success', res, Model);
|
||||
});
|
||||
|
||||
return promise;
|
||||
},
|
||||
|
||||
'data contains right sequence numbers': function (err, res, Model) {
|
||||
|
||||
assert.ok(res);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}).export(module);
|
Reference in New Issue
Block a user