Commit 546f9096 authored by Steffen van Bergerem's avatar Steffen van Bergerem Committed by Benjamin Neff

Fix 500 in html requests for post interactions

closes #7085
parent e54077c8
......@@ -15,6 +15,7 @@
* More buttons in mobile streams are fixed [#7036](https://github.com/diaspora/diaspora/pull/7036)
* Fixed missing sidebar background in the contacts tab [#7064](https://github.com/diaspora/diaspora/pull/7064)
* Fix tags URLs in hovercards [#7075](https://github.com/diaspora/diaspora/pull/7075)
* Fix 500 in html requests for post interactions [#7085](https://github.com/diaspora/diaspora/pull/7085)
## Features
* Deleted comments will be removed when loading more comments [#7045](https://github.com/diaspora/diaspora/pull/7045)
......
......@@ -41,8 +41,13 @@ class PostsController < ApplicationController
end
def interactions
post = post_service.find!(params[:id])
respond_with PostInteractionPresenter.new(post, current_user)
respond_to do |format|
format.json {
post = post_service.find!(params[:id])
render json: PostInteractionPresenter.new(post, current_user)
}
format.any { render nothing: true, status: 406 }
end
end
def destroy
......
......@@ -136,6 +136,38 @@ describe PostsController, type: :controller do
end
end
describe "#interactions" do
context "user not signed in" do
it "returns a 401 for private posts and format json" do
get :interactions, id: post.id, format: :json
expect(response.status).to eq(401)
expect(JSON.parse(response.body)["error"]).to eq(I18n.t("devise.failure.unauthenticated"))
end
it "returns a 406 for private posts and format html" do
get :interactions, id: post.id
expect(response.status).to eq(406)
end
end
context "user signed in" do
before do
sign_in alice
end
it "shows interactions of a post as json" do
get :interactions, id: post.id, format: :json
expect(response.body).to eq(PostInteractionPresenter.new(post, alice).to_json)
end
it "returns a 406 for format html" do
sign_in alice
get :interactions, id: post.id
expect(response.status).to eq(406)
end
end
end
describe "#destroy" do
context "own post" do
before do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment