Skip to content

Instantly share code, notes, and snippets.

@kuldeepJadhav
Created January 15, 2015 02:29
Show Gist options
  • Save kuldeepJadhav/a3a0de3eae899d6d5b04 to your computer and use it in GitHub Desktop.
Save kuldeepJadhav/a3a0de3eae899d6d5b04 to your computer and use it in GitHub Desktop.
Mocha Test with Mockgoose
/**
* Created by jadhavk on 1/14/15.
*/
// Load all the models
var mongoose = require('mongoose');
mongoose.model('Category', require('../models/category').Category);
mongoose.model('SubCategory', require('../models/category').SubCategory);
mongoose.model('Location', require('../models/location').Location);
mongoose.model('User', require('../models/user').User);
mongoose.model('Offer', require('../models/offer').Offer);
mongoose.model('Comment', require('../models/comment').Comment);
mongoose.model('Post', require('../models/post').Post);
mongoose.model('Favorites', require('../models/favorites').Favorites);
mongoose.model('vehTaxonomy', require('../models/vehicleTaxonomy').VehicleTaxonomy);
mongoose.model('Activity', require('../models/activity').Activity);
global.elasticSearch = {'Server': 'test'};
var categoryList = require('../routes/category/list');
var mockgoose = require('mockgoose');
var httpMocks = require('node-mocks-http');
var dependency = require('../routes/dependency');
var db = mongoose.connect('mongodb://localhost:27017/test-db');
var Category = db.model('Category');
mockgoose(mongoose);
var q = require('q');
describe('Category List Test', function () {
function test(done) {
var newCategory = new dependency.getCategoryModel()();
newCategory["iconHtml"] = "<i class='fa fa-smile-o fa-5x color-sand-yellow'></i>";
newCategory["name"] = "Hobbies";
newCategory["subCategories"] = [
{
"name": "Coins"
//"_id" : 'ObjectId("5435ee82ca27c955aa81872f")'
},
{
"name": "Stamps"
//"_id" : 'ObjectId("5435ee82ca27c955aa818730")'
},
{
"name": "Others"
// "_id" : 'ObjectId("5435ee82ca27c955aa818731")'
}
];
newCategory.save(function (err) {
if (!err) {
console.log('Success!!!!!');
// done();
//flag = true;
} else {
console.error('Error!!!!!!!!' + err);
// done();
}
}
);
}
it('should return list of categories properly', function (done) {
console.log('In it!!!!!');
this.timeout(5000);
test(done);
console.log('In it!!!!!');
var flag = false;
var request = httpMocks.createRequest({
method: 'GET',
url: '/category/list',
body: {}
});
var response = httpMocks.createResponse({});
var p = categoryList.list(request, response);
setTimeout(function() {
console.log("Status Code " + response.statusCode );
var data = JSON.parse( response._getData() );
console.log('Data is '+ data.categories[0].name);
done();
}, 4000);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment