Add changeset comment search api json format

This commit is contained in:
Anton Khorev 2023-11-21 18:56:41 +03:00
parent 1f59507e78
commit 2a5051376a
4 changed files with 26 additions and 8 deletions

View file

@ -0,0 +1,8 @@
json.id changeset_comment.id
json.visible changeset_comment.visible
json.date changeset_comment.created_at.xmlschema
if changeset_comment.author.data_public?
json.uid changeset_comment.author.id
json.user changeset_comment.author.display_name
end
json.text changeset_comment.body

View file

@ -0,0 +1,5 @@
json.partial! "api/root_attributes"
json.comments(@comments) do |comment|
json.partial! comment
end

View file

@ -23,13 +23,6 @@ json.tags changeset.tags unless changeset.tags.empty?
if @comments
json.comments(@comments) do |comment|
json.id comment.id
json.visible comment.visible
json.date comment.created_at.xmlschema
if comment.author.data_public?
json.uid comment.author.id
json.user comment.author.display_name
end
json.text comment.body
json.partial! comment
end
end

View file

@ -9,6 +9,10 @@ module Api
{ :path => "/api/0.6/changeset_comments", :method => :get },
{ :controller => "api/changeset_comments", :action => "index" }
)
assert_routing(
{ :path => "/api/0.6/changeset_comments.json", :method => :get },
{ :controller => "api/changeset_comments", :action => "index", :format => "json" }
)
assert_routing(
{ :path => "/api/0.6/changeset/1/comment", :method => :post },
{ :controller => "api/changeset_comments", :action => "create", :id => "1" }
@ -65,6 +69,14 @@ module Api
get api_changeset_comments_path(:user => user1.id)
assert_response :success
assert_comments_in_order [comment22, comment21, comment11]
get api_changeset_comments_path(:from => "2023-03-15T00:00:00Z", :format => "json")
assert_response :success
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal 2, js["comments"].count
assert_equal comment23.id, js["comments"][0]["id"]
assert_equal comment22.id, js["comments"][1]["id"]
end
def test_create_by_unauthorized