diff --git a/app/helpers/debates_helper.rb b/app/helpers/debates_helper.rb index 52bb9c17c..c594a8fa6 100644 --- a/app/helpers/debates_helper.rb +++ b/app/helpers/debates_helper.rb @@ -6,7 +6,7 @@ module DebatesHelper private def available_order_filters_array(orders) - orders.map { |f| [t("debates.index.order_#{f}"), f] } + orders.map { |f| [t("debates.index.orders.#{f}"), f] } end end diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index dd5b7f0c4..d45c73d9b 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -102,6 +102,7 @@ ignore_unused: - 'admin.officials.level_*' - 'helpers.page_entries_info.*' # kaminari - 'views.pagination.*' # kaminari + - 'debates.index.orders.*' #order filters for debates # - '{devise,kaminari,will_paginate}.*' # - 'simple_form.{yes,no}' # - 'simple_form.{placeholders,hints,labels}.*' diff --git a/config/locales/en.yml b/config/locales/en.yml index c1d872ea1..a255991da 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -33,9 +33,10 @@ en: index: create_debate: Create a debate showing: You are seeing debates - order_created_at: the newest - order_total_votes: the most voted - order_likes: the best rated + orders: + created_at: newest + total_votes: most voted + likes: best rated filter_topic: "You are seeing %{number} debates with the topic '%{topic}'" debate: debate: Debate diff --git a/config/locales/es.yml b/config/locales/es.yml index c116b7899..f37bc0545 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -33,9 +33,10 @@ es: index: create_debate: Crea un debate showing: "Estás viendo los debates" - order_created_at: "más nuevos" - order_total_votes: "más votados" - order_likes: mejor valorados + orders: + created_at: "más nuevos" + total_votes: "más votados" + likes: mejor valorados filter_topic: "Estás viendo %{number} debates con el tema '%{topic}'" debate: debate: Debate diff --git a/spec/features/debates_spec.rb b/spec/features/debates_spec.rb index 82669770d..b9e174915 100644 --- a/spec/features/debates_spec.rb +++ b/spec/features/debates_spec.rb @@ -352,8 +352,7 @@ feature 'Debates' do feature 'Debate index order filters', :js do - before do - # TODO consider using debate title literally + before do @most_voted_debate = create(:debate) @most_liked_debate = create(:debate) @most_recent_debate = create(:debate) @@ -365,18 +364,18 @@ feature 'Debates' do scenario 'Default order is created_at' do visit debates_path - expect(page).to have_select('order-selector', selected: 'the newest') + expect(page).to have_select('order-selector', selected: 'newest') expect(@most_recent_debate.title).to appear_before(@most_liked_debate.title) end - scenario 'Debates are ordered by most voted' do + scenario 'Debates are ordered by most voted' do visit debates_path - select 'the most voted', from: 'order-selector' - expect(page).to have_select('order-selector', selected: 'the most voted') + select 'most voted', from: 'order-selector' + expect(page).to have_select('order-selector', selected: 'most voted') + expect(find("#debates .debate", match: :first)).to have_content(@most_voted_debate.title) - expect(find("#debates .debate", match: :first)).to have_content(@most_voted_debate.title) # Necessary to force capybara to wait for redirect - expect(current_url).to include('order=total_votes') + expect(current_url).to include('order=total_votes') expect(@most_voted_debate.title).to appear_before(@most_liked_debate.title) expect(@most_liked_debate.title).to appear_before(@most_recent_debate.title) end @@ -384,10 +383,11 @@ feature 'Debates' do scenario 'Debates are ordered by best rated' do visit debates_path - select 'the best rated', from: 'order-selector' - expect(find("#debates .debate", match: :first)).to have_content(@most_liked_debate.title) + select 'best rated', from: 'order-selector' + expect(page).to have_select('order-selector', selected: 'best rated') + expect(find("#debates .debate", match: :first)).to have_content(@most_liked_debate.title) - expect(current_url).to include('order=likes') + expect(current_url).to include('order=likes') expect(@most_liked_debate.title).to appear_before(@most_voted_debate.title) expect(@most_voted_debate.title).to appear_before(@most_recent_debate.title) end @@ -395,13 +395,14 @@ feature 'Debates' do scenario 'Debates are ordered by newest' do visit debates_path - select 'the most voted', from: 'order-selector' + select 'most voted', from: 'order-selector' expect(find("#debates .debate", match: :first)).to have_content(@most_voted_debate.title) - select 'the newest', from: 'order-selector' + select 'newest', from: 'order-selector' + expect(page).to have_select('order-selector', selected: 'newest') expect(find("#debates .debate", match: :first)).to have_content(@most_recent_debate.title) - expect(current_url).to include('order=created_at') + expect(current_url).to include('order=created_at') expect(@most_recent_debate.title).to appear_before(@most_liked_debate.title) expect(@most_liked_debate.title).to appear_before(@most_voted_debate.title) end