From e2e7f8c2f2a6da642455fbac5badc598e85d3f30 Mon Sep 17 00:00:00 2001 From: David Gil Date: Tue, 15 Sep 2015 14:36:08 +0200 Subject: [PATCH] uses case insensitive for tag filter in debates --- app/controllers/debates_controller.rb | 2 +- spec/features/tags_spec.rb | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) 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)