GettingAllDocsTests.coffee 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. sinon = require "sinon"
  2. chai = require("chai")
  3. chai.should()
  4. {ObjectId} = require "mongojs"
  5. async = require "async"
  6. DocstoreClient = require "./helpers/DocstoreClient"
  7. describe "Getting all docs", ->
  8. beforeEach (done) ->
  9. @project_id = ObjectId()
  10. @docs = [{
  11. _id: ObjectId()
  12. lines: ["one", "two", "three"]
  13. rev: 2
  14. }, {
  15. _id: ObjectId()
  16. lines: ["aaa", "bbb", "ccc"]
  17. rev: 4
  18. }, {
  19. _id: ObjectId()
  20. lines: ["111", "222", "333"]
  21. rev: 6
  22. }]
  23. DocstoreClient.createProject @project_id, (error) =>
  24. throw error if error?
  25. jobs = for doc in @docs
  26. do (doc) =>
  27. (callback) =>
  28. DocstoreClient.createDoc @project_id, doc._id, doc.lines, (err)=>
  29. doc.lines[0] = doc.lines[0]+" added"
  30. DocstoreClient.updateDoc @project_id, doc._id, doc.lines, callback
  31. async.series jobs, done
  32. afterEach (done) ->
  33. DocstoreClient.deleteProject @project_id, done
  34. it "should return all the docs", (done) ->
  35. DocstoreClient.getAllDocs @project_id, (error, res, docs) =>
  36. throw error if error?
  37. docs.length.should.equal @docs.length
  38. for doc, i in docs
  39. doc.lines.should.deep.equal @docs[i].lines
  40. done()