Feature #36848 ยป issues_index_api.patch
| app/views/issues/index.api.rsb | ||
|---|---|---|
| 32 | 32 |
end |
| 33 | 33 |
end if include_in_api_response?('attachments')
|
| 34 | 34 | |
| 35 |
api.array :watchers do |
|
| 36 |
issue.watcher_users.each do |user| |
|
| 37 |
api.user :id => user.id, :name => user.name |
|
| 38 |
end |
|
| 39 |
end if include_in_api_response?('watchers') && User.current.allowed_to?(:view_issue_watchers, issue.project)
|
|
| 40 | ||
| 35 | 41 |
api.array :relations do |
| 36 | 42 |
issue.relations.each do |relation| |
| 37 | 43 |
api.relation(:id => relation.id, :issue_id => relation.issue_from_id, :issue_to_id => relation.issue_to_id, :relation_type => relation.relation_type, :delay => relation.delay) |
| test/functional/issues_controller_test.rb | ||
|---|---|---|
| 8274 | 8274 |
end |
| 8275 | 8275 |
end |
| 8276 | 8276 |
end |
| 8277 | ||
| 8278 |
def test_should_not_list_the_wathcers_in_issue_index_api_without_permission |
|
| 8279 |
get :index, params: { :include => ["watchers"], :format => 'json' }
|
|
| 8280 |
assert_response :success |
|
| 8281 |
assert_not_include 'watchers', response.body |
|
| 8282 |
end |
|
| 8283 | ||
| 8284 |
def test_should_list_the_wathcers_in_issue_index_api_with_permission |
|
| 8285 |
Role.last.add_permission!(:view_issue_watchers) |
|
| 8286 |
get :index, params: { :include => ["watchers"], :format => 'json' }
|
|
| 8287 |
assert_response :success |
|
| 8288 |
watchers = Watcher.where(watchable_type: 'Issue').sort_by(&:user_id) |
|
| 8289 | ||
| 8290 |
if watchers.count |
|
| 8291 |
watchers.each do |watcher| |
|
| 8292 |
st = "{\"id\":#{watcher.user.id},\"name\":\"#{watcher.user.name}\"}"
|
|
| 8293 |
assert_include st, response.body |
|
| 8294 |
end |
|
| 8295 |
end |
|
| 8296 |
end |
|
| 8277 | 8297 |
end |