Skip to content

Commit

Permalink
tests refactoring and improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
podviaznikov committed Nov 25, 2011
1 parent d98a70c commit bd8ed35
Show file tree
Hide file tree
Showing 8 changed files with 456 additions and 203 deletions.
68 changes: 30 additions & 38 deletions test/blobs.dao.coffee
Original file line number Diff line number Diff line change
@@ -1,48 +1,40 @@
should = require "should"
fs = require "fs"
TestCase = require("./base/test.case").TestCase
blobsDao = require("../lib/dao/blobs.dao").newInstance()
Blob = require("../lib/objects/blob").Blob

exports.testSaveBlob = (beforeExit) ->
# create new blob and save it
step1 = (callback) ->
describe "save", ->
describe "text blob", ->
blob = new Blob("test-content", "anton$project1")
blob.id().should.equal "0535cbee7fa4e0fef31389c68336ec6bcb5422b3"
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
callback err, blob
# get blob from db by id and compare with initial
step2 = (blob, callback) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.equals(blob).should.be.ok
callback err
testCase = new TestCase step1, step2
testCase.tearDown = -> blobsDao.deleteAll()
testCase.run()
beforeExit () -> testCase.tearDown()

exports.testSavePng = (beforeExit) ->
# create new blob and save it
step1 = (callback) ->
before (done) ->
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
done err
it "retrieve by id", (done) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.equals(blob).should.be.ok
done err
after (done) ->
blobsDao.deleteAll()
done()
describe "png blob", ->
png = fs.readFileSync "./test/fixtures/test.png"
blob = new Blob(png, "anton$project1")
blob.contentType = "png"
blob.id().should.equal "42d06b1cef22c1d6884c700ecf90a1c79b25eeea"
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
callback err, blob
# get blob from db by id and compare with initial
step2 = (blob, callback) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.id().should.equal blob.id()
callback err
testCase = new TestCase step1, step2
testCase.tearDown = -> blobsDao.deleteAll()
testCase.run()
beforeExit () -> testCase.tearDown()
before (done) ->
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
done err
it "retrieve by id", (done) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.id().should.equal blob.id()
done err
after (done) ->
blobsDao.deleteAll()
done()


40 changes: 40 additions & 0 deletions test/blobs.dao.coffee~
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
should = require "should"
fs = require "fs"
blobsDao = require("../lib/dao/blobs.dao").newInstance()
Blob = require("../lib/objects/blob").Blob

describe "save", ->
describe "text blob", ->
blob = new Blob("test-content", "anton$project1")
before (done) ->
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
done err
it "retrive by id", (done) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.equals(blob).should.be.ok
done err
after (done) ->
blobsDao.deleteAll()
done()
describe "png blob", ->
png = fs.readFileSync "./test/fixtures/test.png"
blob = new Blob(png, "anton$project1")
blob.contentType = "png"
before (done) ->
blobsDao.save blob, (err, data) ->
should.not.exist err
should.exist data
done err
it "retrive by id", (done) ->
blobsDao.get blob.id(), (err, blobFromDao) ->
should.not.exist err
blobFromDao.id().should.equal blob.id()
done err
after (done) ->
blobsDao.deleteAll()
done()


24 changes: 9 additions & 15 deletions test/commits.dao.coffee
Original file line number Diff line number Diff line change
@@ -1,28 +1,22 @@
should = require "should"
TestCase = require("./base/test.case").TestCase
commitsDao = require("../lib/dao/commits.dao").newInstance()
Commit = require("../lib/objects/commit").Commit


exports.testSaveCommit = (beforeExit)->
describe "save commit", ->
authoredDate = new Date().getTime()
commitedDate = new Date().getTime()
# create new commit and save it
step1 = (callback) ->
commit = new Commit("tree-id", "parent-id", "anton", "anton@circuithub.com", authoredDate, "andrew", "andrew@circuithub.com", commitedDate, "initial commit", "anton$project1")
commit.id().should.equal "bdd1caa1de76e21a5e8afe0676057a3a6685738d"
commit = new Commit("tree-id", "parent-id", "anton", "anton@circuithub.com", authoredDate, "andrew", "andrew@circuithub.com", commitedDate, "initial commit", "anton$project1")
before (done) ->
commitsDao.save commit, (err, data) ->
should.not.exist err
should.exist data
callback err, commit
# get commit from db by id and compare with initial
step2 = (commit, callback) ->
done err
it "retrieve by id", (done) ->
commitsDao.get commit.id(), (err, commitFromDao) ->
should.not.exist err
commitFromDao.equals(commit).should.be.ok
callback err
testCase = new TestCase step1, step2
testCase.tearDown = -> commitsDao.deleteAll()
testCase.run()
beforeExit () -> testCase.tearDown()
done err
after (done) ->
commitsDao.deleteAll()
done()

24 changes: 24 additions & 0 deletions test/commits.dao.coffee~
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
should = require "should"
commitsDao = require("../lib/dao/commits.dao").newInstance()
Commit = require("../lib/objects/commit").Commit

describe "save commit", ->
authoredDate = new Date().getTime()
commitedDate = new Date().getTime()
before (done) ->
commit = new Commit("tree-id", "parent-id", "anton", "anton@circuithub.com", authoredDate, "andrew", "andrew@circuithub.com", commitedDate, "initial commit", "anton$project1")
commitsDao.save commit, (err, data) ->
should.not.exist err
should.exist data
done err
it "retrieve by id", (done) ->
console.log "asdsad!!!!!"
commitsDao.get commit.id(), (err, commitFromDao) ->
console.log "xxxx", err, commitFromDao
should.not.exist err
commitFromDao.equals(commit).should.be.ok
done err
after (done) ->
commitsDao.deleteAll()
done()

165 changes: 87 additions & 78 deletions test/error.handling.coffee
Original file line number Diff line number Diff line change
@@ -1,87 +1,96 @@
should = require "should"
MassiveGit = new (require("../lib/massive.git").MassiveGit)()

exports.testGetFakeRepo = ->
MassiveGit.getRepo "fake-repo-id", (err, repo) ->
err.should.exist
err.should.have.property "message", "Repo wasn't found"
err.should.have.property "statusCode", 400
should.not.exist repo
describe "fake", ->
describe "repo", ->
it "should not exists", ->
MassiveGit.getRepo "fake-repo-id", (err, repo) ->
err.should.exist
err.should.have.property "message", "Repo wasn't found"
err.should.have.property "statusCode", 400
should.not.exist repo
describe "blob", ->
it "should not exists", ->
MassiveGit.getBlob "fake-blob-id", (err, repo) ->
err.should.exist
err.should.have.property "message", "Blob wasn't found"
err.should.have.property "statusCode", 400
should.not.exist repo
describe "commit", ->
it "should not exists", ->
MassiveGit.getCommit "fake-commit-id", (err, repo) ->
err.should.exist
err.should.have.property "message", "Commit wasn't found"
err.should.have.property "statusCode", 400
should.not.exist repo
describe "tree", ->
it "should not exists", ->
MassiveGit.getTree "fake-tree-id", (err, repo) ->
err.should.exist
err.should.have.property "message", "Tree wasn't found"
err.should.have.property "statusCode", 400
should.not.exist repo

exports.testGetFakeBlob = ->
MassiveGit.getBlob "fake-blob-id", (err, blob) ->
err.should.exist
err.should.have.property "message", "Blob wasn't found"
err.should.have.property "statusCode", 400
should.not.exist blob

exports.testGetFakeCommit = ->
MassiveGit.getCommit "fake-commit-id", (err, commit) ->
err.should.exist
err.should.have.property "message", "Commit wasn't found"
err.should.have.property "statusCode", 400
should.not.exist commit
describe "when id is null", ->
describe "for repo", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getRepo null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for blob", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getBlob null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for commit", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getCommit null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for tree", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getTree null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo

exports.testGetFakeTree = ->
MassiveGit.getTree "fake-tree-id", (err, tree) ->
err.should.exist
err.should.have.property "message", "Tree wasn't found"
err.should.have.property "statusCode", 400
should.not.exist tree
describe "when id is undefined", ->
describe "for repo", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getRepo undefined, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for blob", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getBlob undefined, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for commit", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getCommit undefined, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo
describe "for tree", ->
it "should return 'Invalid parameters' error", ->
MassiveGit.getTree undefined, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo

exports.testGetRepoByNullId = ->
MassiveGit.getRepo null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo

exports.testGetRepoByUndefinedId = ->
MassiveGit.getRepo null, (err, repo) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist repo

exports.testGetBlobByNullId = ->
MassiveGit.getBlob null, (err, blob) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist blob

exports.testGetBlobByUndefinedId = ->
MassiveGit.getBlob null, (err, blob) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist blob

exports.testGetCommitByNullId = ->
MassiveGit.getCommit null, (err, commit) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist commit

exports.testGetCommitByUndefinedId = ->
MassiveGit.getCommit null, (err, commit) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist commit

exports.testGetTreeByNullId = ->
MassiveGit.getTree null, (err, tree) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist tree

exports.testGetTreeByUndefinedId = ->
MassiveGit.getTree null, (err, tree) ->
err.should.exist
err.should.have.property "message", "Invalid parameters"
err.should.have.property "statusCode", 422
should.not.exist tree

Loading

0 comments on commit bd8ed35

Please sign in to comment.