From 995ce18c377df01e4e7620d55d9c36ce56cc40aa Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem <svbergerem@online.de> Date: Thu, 15 Oct 2015 01:52:43 +0200 Subject: [PATCH] Display publisher on user profile path closes #6503 --- Changelog.md | 1 + app/views/people/show.html.haml | 2 +- spec/integration/profile_spec.rb | 72 ++++++++++++++++++++++++++++++++ spec/requests_helper.rb | 5 +++ 4 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 spec/integration/profile_spec.rb create mode 100644 spec/requests_helper.rb diff --git a/Changelog.md b/Changelog.md index 90121c0c2e..f0d6bc7403 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ * Redirect to sign in page when a background request fails with 401 [#6496](https://github.com/diaspora/diaspora/pull/6496) * Correctly skip setting sidekiq logfile on Heroku [#6500](https://github.com/diaspora/diaspora/pull/6500) * Fix notifications for interactions by non-contacts [#6498](https://github.com/diaspora/diaspora/pull/6498) +* Fix issue where the publisher was broken on profile pages [#6503](https://github.com/diaspora/diaspora/pull/6503) ## Features diff --git a/app/views/people/show.html.haml b/app/views/people/show.html.haml index 235c22ccc3..e368449d27 100644 --- a/app/views/people/show.html.haml +++ b/app/views/people/show.html.haml @@ -23,7 +23,7 @@ .stream_container - -if user_signed_in? && current_page?(person_path(current_user.person)) + - if user_signed_in? && current_user.person == @person = render 'publisher/publisher', publisher_aspects_for(nil) #main_stream.stream diff --git a/spec/integration/profile_spec.rb b/spec/integration/profile_spec.rb new file mode 100644 index 0000000000..3428c11d10 --- /dev/null +++ b/spec/integration/profile_spec.rb @@ -0,0 +1,72 @@ +require "spec_helper" +require "requests_helper" + +describe PeopleController, type: :request do + context "for the current user" do + before do + login alice + end + + it "displays the publisher for user profile path" do + get "/u/#{alice.username}" + + expect(response.status).to eq(200) + # make sure we are signed in + expect(response.body).not_to match(/a class="login"/) + expect(response.body).to match(/div id='publisher_textarea_wrapper'/) + end + + it "displays the publisher for people path" do + get "/people/#{alice.person.guid}" + + expect(response.status).to eq(200) + # make sure we are signed in + expect(response.body).not_to match(/a class="login"/) + expect(response.body).to match(/div id='publisher_textarea_wrapper'/) + end + end + + context "for another user" do + before do + login bob + end + + it "doesn't display the publisher for user profile path" do + get "/u/#{alice.username}" + + expect(response.status).to eq(200) + # make sure we are signed in + expect(response.body).not_to match(/a class="login"/) + expect(response.body).not_to match(/div id='publisher_textarea_wrapper'/) + end + + it "doesn't display the publisher for people path" do + get "/people/#{alice.person.guid}" + + expect(response.status).to eq(200) + # make sure we are signed in + expect(response.body).not_to match(/a class="login"/) + expect(response.body).not_to match(/div id='publisher_textarea_wrapper'/) + end + end + + context "with no user signed in" do + it "doesn't display the publisher for user profile path" do + get "/u/#{alice.username}" + + expect(response.status).to eq(200) + # make sure we aren't signed in + expect(response.body).to match(/a class="login"/) + expect(response.body).not_to match(/div id='publisher_textarea_wrapper'/) + end + + it "doesn't display the publisher for people path" do + get "/people/#{alice.person.guid}" + + expect(response.status).to eq(200) + # make sure we aren't signed in + expect(response.body).to match(/a class="login"/) + expect(response.body).not_to match(/div id='publisher_textarea_wrapper'/) + end + end +end diff --git a/spec/requests_helper.rb b/spec/requests_helper.rb new file mode 100644 index 0000000000..fdae9a95da --- /dev/null +++ b/spec/requests_helper.rb @@ -0,0 +1,5 @@ +include Warden::Test::Helpers + +def login(user) + login_as user, scope: :user +end -- GitLab