LabelsTests.coffee 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. _ = require 'underscore'
  2. {expect} = require 'chai'
  3. {ObjectId} = require 'mongojs'
  4. request = require './helpers/request'
  5. MockProjectHistoryApi = require './helpers/MockProjectHistoryApi'
  6. User = require './helpers/User'
  7. describe 'Labels', ->
  8. beforeEach (done) ->
  9. @owner = new User()
  10. @owner.login (error) =>
  11. throw error if error?
  12. @owner.createProject 'example-project', {template: 'example'}, (error, @project_id) =>
  13. throw error if error?
  14. done()
  15. afterEach ->
  16. MockProjectHistoryApi.reset()
  17. it 'getting labels', (done) ->
  18. label_id = new ObjectId().toString()
  19. comment = 'a label comment'
  20. version = 3
  21. MockProjectHistoryApi.addLabel @project_id, label_id, comment, version
  22. @owner.request {
  23. method: 'GET'
  24. url: "/project/#{@project_id}/labels"
  25. json: true
  26. }, (error, response, body) =>
  27. throw error if error?
  28. expect(response.statusCode).to.equal 200
  29. expect(body).to.deep.equal [{ label_id, comment, version }]
  30. done()
  31. it 'creating a label', (done) ->
  32. comment = 'a label comment'
  33. version = 3
  34. @owner.request {
  35. method: 'POST'
  36. url: "/project/#{@project_id}/labels"
  37. json: {comment, version}
  38. }, (error, response, body) =>
  39. throw error if error?
  40. expect(response.statusCode).to.equal 200
  41. {label_id} = body
  42. expect(
  43. MockProjectHistoryApi.getLabels(@project_id)
  44. ).to.deep.equal [{label_id, comment, version} ]
  45. done()
  46. it 'deleting a label', (done) ->
  47. label_id = new ObjectId().toString()
  48. comment = 'a label comment'
  49. version = 3
  50. MockProjectHistoryApi.addLabel @project_id, label_id, comment, version
  51. @owner.request {
  52. method: 'DELETE'
  53. url: "/project/#{@project_id}/labels/#{label_id}"
  54. json: true
  55. }, (error, response, body) =>
  56. throw error if error?
  57. expect(response.statusCode).to.equal 204
  58. expect(MockProjectHistoryApi.getLabels(@project_id)).to.deep.equal []
  59. done()