uses case insensitive for tag filter in debates

This commit is contained in:
David Gil
2015-09-15 14:36:08 +02:00
parent 21c9f3fead
commit e2e7f8c2f2
2 changed files with 13 additions and 3 deletions

View File

@@ -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

View File

@@ -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)