Skip to content

Instantly share code, notes, and snippets.

@marcusoftnet
Created February 24, 2014 12:53
Show Gist options
  • Save marcusoftnet/9187852 to your computer and use it in GitHub Desktop.
Save marcusoftnet/9187852 to your computer and use it in GitHub Desktop.
Needs promises
var mongoose = require("mongoose");
var should = require("should");
var dbAccess = require("../dbAccess");
var testHelpers = require("./testHelpers.js");
describe("Getting posts", function () {
var addTestPost = function (username, message, cb) {
dbAccess.addPost(username, message, function (result) {
testHelpers.validateOkResult(result);
cb(result);
});
};
var addTestPosts = function (numberOfPosts, callback) {
for (var i = 0; i < numberOfPosts; i++) {
addTestPost(testHelpers.USERNAME, testHelpers.MESSAGE + " " + i, callback);
}
};
after(function (done) {
testHelpers.deleteAll();
done();
});
describe("by other properties", function () {
beforeEach(function (done) {
testHelpers.deleteAll();
done();
});
it("gets all posts with a certain hashtag", function (done) {
addTestPost(testHelpers.USERNAME, "#tjaaana 1", function (result) {
addTestPost(testHelpers.USERNAME, "#tjaaana 2", function (result) {
addTestPost(testHelpers.USERNAME, "#tjaaana 3", function (result) {
addTestPost(testHelpers.USERNAME, "#tjaaana 4", function (result) {
addTestPost(testHelpers.USERNAME, "#jora 4", function (result) {
dbAccess.getPostsByHashTag("#tjaaana", function (result) {
result.data.length.should.equal(4);
done();
});
});
});
});
});
});
});
it("gets all posts in pages", function (done) {
addTestPosts(10, function (result) {
dbAccess.getAllPosts(1, function (result) {
testHelpers.validateOkResult(result);
result.data.length.should.equal(10);
result.data[9].message.should.containEql("10");
done();
});
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment