Users can now hide recommendations

This commit is contained in:
Angel Perez
2018-06-08 18:40:41 -04:00
parent fefa225f8a
commit 251441e109
3 changed files with 69 additions and 18 deletions

View File

@@ -4,26 +4,29 @@
<h2 class="show-for-sr"><%= t("shared.recommended_index.title") %></h2>
</div>
<%= link_to "#", title: t("shared.recommended_index.hide"),
class: "float-right-medium small hide-recommendations" do %>
<span class="icon-x"></span>
<span class="show-for-sr"><%= t("shared.recommended_index.hide") %></span>
<% end %>
<div id="recommendations" data-toggler=".hide">
<%= link_to "#", title: t("shared.recommended_index.hide"),
class: "float-right-medium small hide-recommendations",
data: { toggle: "recommendations" } do %>
<span class="icon-x"></span>
<span class="show-for-sr"><%= t("shared.recommended_index.hide") %></span>
<% end %>
<% recommended.each_with_index do |recommended, index| %>
<div class="small-12 medium-6 large-4 column end">
<%= link_to recommended_path(recommended) do %>
<div class="recommendation" data-equalizer-watch>
<h3><%= recommended.title %></h3>
</div>
<% end %>
<% recommended.each_with_index do |recommended, index| %>
<div class="small-12 medium-6 large-4 column end">
<%= link_to recommended_path(recommended) do %>
<div class="recommendation" data-equalizer-watch>
<h3><%= recommended.title %></h3>
</div>
<% end %>
</div>
<% end %>
<div class="small-12 column">
<%= link_to t("shared.recommended_index.see_more"),
current_path_with_query_params(order: "recommendations"),
class: "float-right-medium small" %>
</div>
<% end %>
<div class="small-12 column">
<%= link_to t("shared.recommended_index.see_more"),
current_path_with_query_params(order: "recommendations"),
class: "float-right-medium small" %>
</div>
</div>
</div>

View File

@@ -503,6 +503,30 @@ feature 'Debates' do
expect(page).not_to have_css('.recommendation', count: 3)
expect(page).not_to have_link('recommendations')
end
scenario 'Recommendations shown in index are dismissable', :js do
user = create(:user, recommended_debates: true)
proposal = create(:proposal, tag_list: "Sport")
create(:follow, followable: proposal, user: user)
login_as(user)
visit debates_path
within("#recommendations") do
expect(page).to have_content('Best')
expect(page).to have_content('Worst')
expect(page).to have_content('Medium')
expect(page).to have_css('.recommendation', count: 3)
find('.icon-x').click
expect(page).not_to have_content('Best')
expect(page).not_to have_content('Worst')
expect(page).not_to have_content('Medium')
expect(page).not_to have_css('.recommendation', count: 3)
end
end
end
end

View File

@@ -833,6 +833,30 @@ feature 'Proposals' do
expect(page).not_to have_css('.recommendation', count: 3)
expect(page).not_to have_link('recommendations')
end
scenario 'Recommendations shown in index are dismissable', :js do
user = create(:user, recommended_proposals: true)
proposal = create(:proposal, tag_list: "Sport")
create(:follow, followable: proposal, user: user)
login_as(user)
visit proposals_path
within("#recommendations") do
expect(page).to have_content('Best')
expect(page).to have_content('Worst')
expect(page).to have_content('Medium')
expect(page).to have_css('.recommendation', count: 3)
find('.icon-x').click
expect(page).not_to have_content('Best')
expect(page).not_to have_content('Worst')
expect(page).not_to have_content('Medium')
expect(page).not_to have_css('.recommendation', count: 3)
end
end
end
end