From e0be1b49f128a7665c26c97ab51e1f7c44b42e8c Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem <svbergerem@online.de> Date: Mon, 5 Oct 2015 18:59:46 +0200 Subject: [PATCH] Add public stream closes #6465 --- Changelog.md | 1 + app/assets/javascripts/app/router.js | 1 + app/controllers/streams_controller.rb | 1 - app/views/streams/main_stream.html.haml | 2 ++ features/desktop/public_stream.feature | 30 +++++++++++++++++++++ spec/controllers/streams_controller_spec.rb | 8 +----- 6 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 features/desktop/public_stream.feature diff --git a/Changelog.md b/Changelog.md index 1146ce99f8..18728e2414 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,7 @@ * Only post to the primary tumblr blog [#6386](https://github.com/diaspora/diaspora/pull/6386) * Always show public photos on profile page [#6398](https://github.com/diaspora/diaspora/pull/6398) * Expose Unicorn's pid option to our configuration system [#6411](https://github.com/diaspora/diaspora/pull/6411) +* Add stream of all public posts [#6465](https://github.com/diaspora/diaspora/pull/6465) # 0.5.3.1 diff --git a/app/assets/javascripts/app/router.js b/app/assets/javascripts/app/router.js index 43befff7a5..824252046d 100644 --- a/app/assets/javascripts/app/router.js +++ b/app/assets/javascripts/app/router.js @@ -24,6 +24,7 @@ app.Router = Backbone.Router.extend({ "commented": "stream", "liked": "stream", "mentions": "stream", + "public": "stream", "followed_tags": "followed_tags", "tags/:name": "followed_tags", "people/:id/photos": "photos", diff --git a/app/controllers/streams_controller.rb b/app/controllers/streams_controller.rb index 52edbe5ec2..f8e8b422f3 100644 --- a/app/controllers/streams_controller.rb +++ b/app/controllers/streams_controller.rb @@ -5,7 +5,6 @@ class StreamsController < ApplicationController before_action :authenticate_user! before_action :save_selected_aspects, :only => :aspects - before_action :redirect_unless_admin, :only => :public layout proc { request.format == :mobile ? "application" : "with_header" } diff --git a/app/views/streams/main_stream.html.haml b/app/views/streams/main_stream.html.haml index a3c7fccb63..f4d963ea6f 100644 --- a/app/views/streams/main_stream.html.haml +++ b/app/views/streams/main_stream.html.haml @@ -39,6 +39,8 @@ = render "aspects/aspect_listings", stream: @stream %li = render "tags/followed_tags_listings" + %li{data: {stream: "public"}} + = link_to t("streams.public.title"), public_stream_path, rel: "backbone", class: "hoverable" .span6 #aspect_stream_container.stream_container diff --git a/features/desktop/public_stream.feature b/features/desktop/public_stream.feature new file mode 100644 index 0000000000..7d9c27f5dc --- /dev/null +++ b/features/desktop/public_stream.feature @@ -0,0 +1,30 @@ +@javascript +Feature: The public stream + Background: + Given following users exist: + | username | email | + | Alice Smith | alice@alice.alice | + | Bob Jones | bob@bob.bob | + | Eve Doe | eve@eve.eve | + And a user with email "alice@alice.alice" is connected with "bob@bob.bob" + And "bob@bob.bob" has a public post with text "Bob’s public post" + And "bob@bob.bob" has a non public post with text "Bob’s private post" + And "eve@eve.eve" has a public post with text "Eve’s public post" + + Scenario: seeing public posts of someone you don't follow + When I sign in as "alice@alice.alice" + Then I should not see "Eve’s public post" + When I am on the public stream page + Then I should see "Eve’s public post" + + Scenario: seeing public posts of someone you follow + When I sign in as "alice@alice.alice" + Then I should see "Bob’s public post" + When I am on the public stream page + Then I should see "Bob’s public post" + + Scenario: not seeing private posts of someone you follow + When I sign in as "alice@alice.alice" + Then I should see "Bob’s private post" + When I am on the public stream page + Then I should not see "Bob’s private post" diff --git a/spec/controllers/streams_controller_spec.rb b/spec/controllers/streams_controller_spec.rb index 05440948f0..9aeb5f3194 100644 --- a/spec/controllers/streams_controller_spec.rb +++ b/spec/controllers/streams_controller_spec.rb @@ -10,16 +10,10 @@ describe StreamsController, :type => :controller do end describe "#public" do - it 'will succeed if admin' do - Role.add_admin(alice.person) + it "succeeds" do get :public expect(response).to be_success end - - it 'will redirect if not' do - get :public - expect(response).to be_redirect - end end describe '#multi' do -- GitLab