diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index 85ca6d496..9e5247134 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -8,6 +8,7 @@ class DebatesController < ApplicationController def index @debates = Debate.search(params).page(params[:page]).for_render.send("sort_by_#{@order}") @tags = ActsAsTaggableOn::Tag.all + @tag_cloud = Debate.tag_counts.order('count desc, name asc') set_debate_votes(@debates) end diff --git a/app/views/shared/_tag_cloud.html.erb b/app/views/shared/_tag_cloud.html.erb index 9fb4ff371..737fc3a94 100644 --- a/app/views/shared/_tag_cloud.html.erb +++ b/app/views/shared/_tag_cloud.html.erb @@ -2,7 +2,7 @@

<%= t("shared.tags_cloud.tags") %>


- <% tag_cloud Debate.tag_counts, %w[s m l] do |tag, css_class| %> + <% tag_cloud @tag_cloud, %w[s m l] do |tag, css_class| %> <%= link_to sanitize("#{tag.name} #{tag.taggings_count}"), debates_path(tag: tag.name), class: css_class %> <% end %> diff --git a/spec/features/tags_spec.rb b/spec/features/tags_spec.rb index a15902dc7..d6c1eba8b 100644 --- a/spec/features/tags_spec.rb +++ b/spec/features/tags_spec.rb @@ -47,13 +47,17 @@ feature 'Tags' do scenario 'Tag Cloud' do 1.times { create(:debate, tag_list: 'Medio Ambiente') } 5.times { create(:debate, tag_list: 'Corrupción') } + 5.times { create(:debate, tag_list: 'Educación') } 10.times { create(:debate, tag_list: 'Economía') } visit debates_path - within(:css, "#tag-cloud .s") { expect(page).to have_content('Medio Ambiente 1') } - within(:css, "#tag-cloud .m") { expect(page).to have_content('Corrupción 5') } - within(:css, "#tag-cloud .l") { expect(page).to have_content('Economía 10') } + within(:css, "#tag-cloud") do + expect(page.find("a:eq(1)")).to have_content("Economía 10") + expect(page.find("a:eq(2)")).to have_content("Corrupción 5") + expect(page.find("a:eq(3)")).to have_content("Educación 5") + expect(page.find("a:eq(4)")).to have_content("Medio Ambiente 1") + end end scenario 'Create' do