diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index 618152fab..0d3276b1d 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -85,7 +85,7 @@ class DebatesController < ApplicationController def parse_tag_filter if params[:tag].present? - @tag_filter = params[:tag] if ActsAsTaggableOn::Tag.where(name: params[:tag]).exists? + @tag_filter = params[:tag] if ActsAsTaggableOn::Tag.where("LOWER(tags.name) = ?", params[:tag].downcase).exists? end end diff --git a/spec/features/tags_spec.rb b/spec/features/tags_spec.rb index 1b47f87a1..232c220c0 100644 --- a/spec/features/tags_spec.rb +++ b/spec/features/tags_spec.rb @@ -19,12 +19,22 @@ feature 'Tags' do scenario 'Filtered' do debate1 = create(:debate, tag_list: 'Salud') - debate2 = create(:debate, tag_list: 'Salud') + debate2 = create(:debate, tag_list: 'salud') debate3 = create(:debate, tag_list: 'Hacienda') debate4 = create(:debate, tag_list: 'Hacienda') visit debates_path - first(:link, "Salud").click + first(:link, 'Salud').click + + within("#debates") do + expect(page).to have_css('.debate', count: 2) + expect(page).to have_content(debate1.title) + expect(page).to have_content(debate2.title) + expect(page).to_not have_content(debate3.title) + expect(page).to_not have_content(debate4.title) + end + + visit debates_path(tag: 'salud') within("#debates") do expect(page).to have_css('.debate', count: 2)