diff --git a/app/models/proposal.rb b/app/models/proposal.rb index a485061ac..7d3cd402f 100644 --- a/app/models/proposal.rb +++ b/app/models/proposal.rb @@ -42,7 +42,7 @@ class Proposal < ActiveRecord::Base scope :sort_by_relevance , -> { all } scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) } scope :last_week, -> { where("proposals.created_at >= ?", 7.days.ago)} - scope :in_categories, -> { where("lower(tags.name) IN (?)", ActsAsTaggableOn::Tag.category_names) } + scope :in_categories, -> { where("tags.name IN (?)", ActsAsTaggableOn::Tag.category_names) } def searchable_values { title => 'A', diff --git a/app/views/proposals/summary.html.erb b/app/views/proposals/summary.html.erb index d175c4cbf..679d821a8 100644 --- a/app/views/proposals/summary.html.erb +++ b/app/views/proposals/summary.html.erb @@ -9,7 +9,7 @@ <% @proposals.each do |group_name, proposals| %>
-

<%= group_name %>

+

<%= group_name.capitalize %>

<% proposals[0..2].each do |proposal| %>
@@ -33,7 +33,7 @@

- <%= proposal.description %> +

<%= proposal.summary %>

diff --git a/spec/features/proposals_spec.rb b/spec/features/proposals_spec.rb index 01c0a3724..8af646c09 100644 --- a/spec/features/proposals_spec.rb +++ b/spec/features/proposals_spec.rb @@ -1166,11 +1166,11 @@ feature 'Proposals' do context "Summary" do scenario "Displays proposals grouped by category" do - create(:tag, kind: 'category', name: 'Culture') - create(:tag, kind: 'category', name: 'Social Services') + create(:tag, kind: 'category', name: 'culture') + create(:tag, kind: 'category', name: 'social services') - 3.times { create(:proposal, tag_list: 'Culture') } - 3.times { create(:proposal, tag_list: 'Social Services') } + 3.times { create(:proposal, tag_list: 'culture') } + 3.times { create(:proposal, tag_list: 'social services') } create(:proposal, tag_list: 'Random') @@ -1183,14 +1183,14 @@ feature 'Proposals' do end within("#social-services") do - expect(page).to have_content("Social Services") + expect(page).to have_content("Social services") expect(page).to have_css(".proposal", count: 3) end end scenario "Displays a maximum of 3 proposals per category" do - create(:tag, kind: 'category', name: 'Culture') - 4.times { create(:proposal, tag_list: 'Culture') } + create(:tag, kind: 'category', name: 'culture') + 4.times { create(:proposal, tag_list: 'culture') } visit summary_proposals_path @@ -1198,10 +1198,10 @@ feature 'Proposals' do end scenario "Orders proposals by votes" do - create(:tag, kind: 'category', name: 'Culture') - create(:proposal, title: 'Best', tag_list: 'Culture').update_column(:confidence_score, 10) - create(:proposal, title: 'Worst', tag_list: 'Culture').update_column(:confidence_score, 2) - create(:proposal, title: 'Medium', tag_list: 'Culture').update_column(:confidence_score, 5) + create(:tag, kind: 'category', name: 'culture') + create(:proposal, title: 'Best', tag_list: 'culture').update_column(:confidence_score, 10) + create(:proposal, title: 'Worst', tag_list: 'culture').update_column(:confidence_score, 2) + create(:proposal, title: 'Medium', tag_list: 'culture').update_column(:confidence_score, 5) visit summary_proposals_path @@ -1210,10 +1210,10 @@ feature 'Proposals' do end scenario "Displays proposals from last week" do - create(:tag, kind: 'category', name: 'Culture') - proposal1 = create(:proposal, tag_list: 'Culture', created_at: 1.day.ago) - proposal2 = create(:proposal, tag_list: 'Culture', created_at: 5.days.ago) - proposal3 = create(:proposal, tag_list: 'Culture', created_at: 8.days.ago) + create(:tag, kind: 'category', name: 'culture') + proposal1 = create(:proposal, tag_list: 'culture', created_at: 1.day.ago) + proposal2 = create(:proposal, tag_list: 'culture', created_at: 5.days.ago) + proposal3 = create(:proposal, tag_list: 'culture', created_at: 8.days.ago) visit summary_proposals_path diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index c8b358cf2..b96246fdc 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -644,36 +644,36 @@ describe Proposal do describe "for_summary" do it "should return proposals tagged with a category" do - create(:tag, kind: 'category', name: 'Culture') - proposal = create(:proposal, tag_list: 'Culture') + create(:tag, kind: 'category', name: 'culture') + proposal = create(:proposal, tag_list: 'culture') expect(Proposal.for_summary.values.flatten).to include(proposal) end it "should not return proposals tagged without a category" do - create(:tag, kind: 'category', name: 'Culture') - proposal = create(:proposal, tag_list: 'Parks') + create(:tag, kind: 'category', name: 'culture') + proposal = create(:proposal, tag_list: 'parks') expect(Proposal.for_summary.values.flatten).to_not include(proposal) end it "should return proposals created this week" do - create(:tag, kind: 'category', name: 'Culture') - proposal = create(:proposal, tag_list: 'Culture') + create(:tag, kind: 'category', name: 'culture') + proposal = create(:proposal, tag_list: 'culture') expect(Proposal.for_summary.values.flatten).to include(proposal) end it "should not return proposals created more than a week ago" do - create(:tag, kind: 'category', name: 'Culture') - proposal = create(:proposal, tag_list: 'Culture', created_at: 8.days.ago) + create(:tag, kind: 'category', name: 'culture') + proposal = create(:proposal, tag_list: 'culture', created_at: 8.days.ago) expect(Proposal.for_summary.values.flatten).to_not include(proposal) end it "should order by votes" do - create(:tag, kind: 'category', name: 'Culture') - create(:proposal, tag_list: 'Culture').update_column(:confidence_score, 2) - create(:proposal, tag_list: 'Culture').update_column(:confidence_score, 10) - create(:proposal, tag_list: 'Culture').update_column(:confidence_score, 5) + create(:tag, kind: 'category', name: 'culture') + create(:proposal, tag_list: 'culture').update_column(:confidence_score, 2) + create(:proposal, tag_list: 'culture').update_column(:confidence_score, 10) + create(:proposal, tag_list: 'culture').update_column(:confidence_score, 5) results = Proposal.for_summary.values.flatten @@ -683,18 +683,18 @@ describe Proposal do end it "should return proposals grouped by tag" do - create(:tag, kind: 'category', name: 'Culture') - create(:tag, kind: 'category', name: 'Health') + create(:tag, kind: 'category', name: 'culture') + create(:tag, kind: 'category', name: 'health') - proposal1 = create(:proposal, tag_list: 'Culture') - proposal2 = create(:proposal, tag_list: 'Culture') + proposal1 = create(:proposal, tag_list: 'culture') + proposal2 = create(:proposal, tag_list: 'culture') proposal2.update_column(:confidence_score, 100) - proposal3 = create(:proposal, tag_list: 'Health') + proposal3 = create(:proposal, tag_list: 'health') proposal1.update_column(:confidence_score, 10) proposal2.update_column(:confidence_score, 9) - expect(Proposal.for_summary).to include('Culture' => [proposal1, proposal2], 'Health' => [proposal3]) + expect(Proposal.for_summary).to include('culture' => [proposal1, proposal2], 'health' => [proposal3]) end end