From 074d50d2b70be66d800cefa2b11c249bb38725e9 Mon Sep 17 00:00:00 2001 From: Anna Buyanova Date: Thu, 13 Dec 2018 22:54:02 +0300 Subject: [PATCH] Stories views reorganization (#1317) * Added stories feature specs * Structure feature specs * Spec for the articles by tag page * Spec for clicking "week" button on the tag page * Reorganize stories views * Feature spec for displaying sponsors on tag page * Increase allowed rspec example length * Spec for the users comments view * Articles by tag: reeplace view code with rendering partials --- .rubocop.yml | 1 + .../podcast_episodes_controller.rb | 3 +- app/controllers/stories_controller.rb | 10 +- app/views/articles/_sidebar.html.erb | 319 +++---------- .../articles/_sidebar_additional.html.erb | 420 +++++++---------- app/views/articles/_sidebar_nav.html.erb | 5 +- app/views/articles/index.html.erb | 430 +++--------------- app/views/articles/search.html.erb | 31 ++ app/views/articles/search/_meta.html.erb | 17 + app/views/articles/search/_sidebar.html.erb | 17 + .../search/_sidebar_additional.html.erb | 5 + app/views/articles/tag_index.html.erb | 112 +++++ app/views/articles/tags/_meta.html.erb | 25 + app/views/articles/tags/_sidebar.html.erb | 67 +++ .../tags/_sidebar_additional.html.erb | 44 ++ app/views/homepage/index.html.erb | 0 app/views/organizations/_sidebar.html.erb | 25 + .../_sidebar_additional.html.erb | 21 + app/views/organizations/show.html.erb | 26 ++ .../podcast_episodes/_episodes_feed.html.erb | 23 + app/views/podcast_episodes/_sidebar.html.erb | 36 ++ .../_sidebar_additional.html.erb | 5 + app/views/podcast_episodes/index.html.erb | 56 +++ .../_main_stories_feed.html.erb | 4 +- app/views/stories/_narrow_nav_menu.html.erb | 8 + .../stories/_stories_list_script.html.erb | 26 ++ .../_comments_section.html.erb | 0 app/views/users/_meta.html.erb | 18 + app/views/users/_profile_header.html.erb | 93 ++++ app/views/users/_sidebar.html.erb | 58 +++ app/views/users/_sidebar_additional.html.erb | 27 ++ app/views/users/show.html.erb | 159 +++++-- spec/factories/podcast_episodes.rb | 1 + .../user_visits_articles_by_tag_spec.rb | 13 + .../user_visits_podcasts_root_page_spec.rb | 21 + spec/features/user/view_user_comments_spec.rb | 26 ++ 36 files changed, 1237 insertions(+), 915 deletions(-) create mode 100644 app/views/articles/search.html.erb create mode 100644 app/views/articles/search/_meta.html.erb create mode 100644 app/views/articles/search/_sidebar.html.erb create mode 100644 app/views/articles/search/_sidebar_additional.html.erb create mode 100644 app/views/articles/tag_index.html.erb create mode 100644 app/views/articles/tags/_meta.html.erb create mode 100644 app/views/articles/tags/_sidebar.html.erb create mode 100644 app/views/articles/tags/_sidebar_additional.html.erb create mode 100644 app/views/homepage/index.html.erb create mode 100644 app/views/organizations/_sidebar.html.erb create mode 100644 app/views/organizations/_sidebar_additional.html.erb create mode 100644 app/views/organizations/show.html.erb create mode 100644 app/views/podcast_episodes/_episodes_feed.html.erb create mode 100644 app/views/podcast_episodes/_sidebar.html.erb create mode 100644 app/views/podcast_episodes/_sidebar_additional.html.erb create mode 100644 app/views/podcast_episodes/index.html.erb rename app/views/{articles => stories}/_main_stories_feed.html.erb (97%) create mode 100644 app/views/stories/_narrow_nav_menu.html.erb create mode 100644 app/views/stories/_stories_list_script.html.erb rename app/views/{articles => users}/_comments_section.html.erb (100%) create mode 100644 app/views/users/_meta.html.erb create mode 100644 app/views/users/_profile_header.html.erb create mode 100644 app/views/users/_sidebar.html.erb create mode 100644 app/views/users/_sidebar_additional.html.erb create mode 100644 spec/features/podcasts/user_visits_podcasts_root_page_spec.rb create mode 100644 spec/features/user/view_user_comments_spec.rb diff --git a/.rubocop.yml b/.rubocop.yml index 23e84d29b..89b46f29e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -15,6 +15,7 @@ RSpec/DescribeClass: - spec/requests/* RSpec/ExampleLength: + Max: 10 Exclude: - spec/features/**/* diff --git a/app/controllers/podcast_episodes_controller.rb b/app/controllers/podcast_episodes_controller.rb index da15d96be..5623138d6 100644 --- a/app/controllers/podcast_episodes_controller.rb +++ b/app/controllers/podcast_episodes_controller.rb @@ -11,10 +11,9 @@ class PodcastEpisodesController < ApplicationController @podcast_episodes.map { |e| e["record_key"] }) end @featured_story = Article.new - @podcast_index = true @article_index = true @list_of = "podcast-episodes" - render template: "articles/index" + render template: "podcast_episodes/index" end private diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb index 3d5f6f197..a26ccfcbc 100644 --- a/app/controllers/stories_controller.rb +++ b/app/controllers/stories_controller.rb @@ -15,7 +15,7 @@ class StoriesController < ApplicationController @featured_story = Article.new @article_index = true set_surrogate_key_header "articles-page-with-query" - render template: "articles/index" + render template: "articles/search" end def show @@ -101,7 +101,7 @@ class StoriesController < ApplicationController @article_index = true set_surrogate_key_header "articles-#{@tag}", @stories.map(&:record_key) response.headers["Surrogate-Control"] = "max-age=600, stale-while-revalidate=30, stale-if-error=86400" - render template: "articles/index" + render template: "articles/tag_index" end def handle_base_index @@ -155,7 +155,7 @@ class StoriesController < ApplicationController @list_of = "podcast-episodes" @podcast_episodes = @podcast.podcast_episodes.order("published_at DESC").limit(30) set_surrogate_key_header "podcast_episodes", (@podcast_episodes.map { |e| e["record_key"] }) - render template: "articles/index" + render template: "podcast_episodes/index" end def handle_organization_index @@ -169,7 +169,7 @@ class StoriesController < ApplicationController @article_index = true @organization_article_index = true set_surrogate_key_header "articles-org-#{@organization.id}", @stories.map(&:record_key) - render template: "articles/index" + render template: "organizations/show" end def handle_user_index @@ -189,7 +189,7 @@ class StoriesController < ApplicationController redirect_if_view_param return if performed? set_surrogate_key_header "articles-user-#{@user.id}", @stories.map(&:record_key) - render template: "articles/index" + render template: "users/show" end def handle_podcast_show diff --git a/app/views/articles/_sidebar.html.erb b/app/views/articles/_sidebar.html.erb index 82f375383..21d6fbac1 100644 --- a/app/views/articles/_sidebar.html.erb +++ b/app/views/articles/_sidebar.html.erb @@ -1,265 +1,82 @@