parent
e54077c856
commit
546f909658
3 changed files with 40 additions and 2 deletions
|
|
@ -15,6 +15,7 @@
|
||||||
* More buttons in mobile streams are fixed [#7036](https://github.com/diaspora/diaspora/pull/7036)
|
* 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)
|
* 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 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
|
## Features
|
||||||
* Deleted comments will be removed when loading more comments [#7045](https://github.com/diaspora/diaspora/pull/7045)
|
* 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
|
end
|
||||||
|
|
||||||
def interactions
|
def interactions
|
||||||
post = post_service.find!(params[:id])
|
respond_to do |format|
|
||||||
respond_with PostInteractionPresenter.new(post, current_user)
|
format.json {
|
||||||
|
post = post_service.find!(params[:id])
|
||||||
|
render json: PostInteractionPresenter.new(post, current_user)
|
||||||
|
}
|
||||||
|
format.any { render nothing: true, status: 406 }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,38 @@ describe PostsController, type: :controller do
|
||||||
end
|
end
|
||||||
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
|
describe "#destroy" do
|
||||||
context "own post" do
|
context "own post" do
|
||||||
before do
|
before do
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue