diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index 9ec9c2872..e17cbc00c 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -9,20 +9,16 @@ module WelcomeHelper end def recommended_path(recommended) - case recommended.class - when Debate - debates_path(recommended) - when Proposal - proposals_path(recommended) - when Budget::Investment - budget_investments_path(recommended) + case recommended.class.name + when "Debate" + debate_path(recommended) + when "Proposal" + proposal_path(recommended) + when "Budget::Investment" + budget_investment_path(budget_id: recommended.budget.id, id: recommended.id) else '#' end end - def title_key(key) - key.gsub("-", "_") - end - end diff --git a/app/views/welcome/_recommended_carousel.html.erb b/app/views/welcome/_recommended_carousel.html.erb index 2076330fc..e552ea01e 100644 --- a/app/views/welcome/_recommended_carousel.html.erb +++ b/app/views/welcome/_recommended_carousel.html.erb @@ -1,7 +1,7 @@
-

<%= t("welcome.recommended.#{title_key(key)}.title") %>

+

<%= t("welcome.recommended.#{key.underscore}.title") %>

diff --git a/spec/features/home_spec.rb b/spec/features/home_spec.rb index 63c4adb9e..096c92a97 100644 --- a/spec/features/home_spec.rb +++ b/spec/features/home_spec.rb @@ -10,7 +10,7 @@ feature "Home" do expect(page).to have_content "Love the city, and it will become a city you love" end - scenario 'Not display recommended text' do + scenario 'Not display recommended section' do debate = create(:debate) visit root_path @@ -28,7 +28,7 @@ feature "Home" do feature "Recommended" do - scenario 'Display recommended text' do + scenario 'Display recommended section' do debate = create(:debate) visit root_path @@ -73,6 +73,14 @@ feature "Home" do expect(page).to have_selector('li[data-slide="2"]', visible: false) end + scenario 'Display recommended show when click on carousel' do + debate = create(:debate) + + visit root_path + click_on debate.title + + expect(current_path).to eq debate_path(debate) + end end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e51c9a32c..8e60b529c 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -715,7 +715,7 @@ describe User do expect(result).to eq [debate1] end - it "Should not return debates when user is an author" do + it "Should not return debates when user is the author" do debate1 = create(:debate, author: user) debate2 = create(:debate) @@ -731,7 +731,7 @@ describe User do let(:user) { create(:user) } - it "Should return up to 3 debates" do + it "Should return up to 3 proposals" do create_list(:proposal, 4) expect(user.recommended_proposals.size).to eq 3 @@ -770,7 +770,7 @@ describe User do expect(result.size).to eq 0 end - it "Should not return proposals when user is an author" do + it "Should not return proposals when user is the author" do proposal1 = create(:proposal, author: user) proposal2 = create(:proposal) @@ -786,7 +786,7 @@ describe User do let(:user) { create(:user) } - it "Should return up to 3 debates" do + it "Should return up to 3 investments" do create_list(:budget_investment, 4) expect(user.recommended_budget_investments.size).to eq 3 @@ -825,7 +825,7 @@ describe User do expect(result.size).to eq 0 end - it "Should not return budget_investments when user is an author" do + it "Should not return budget_investments when user is the author" do budget_investment1 = create(:budget_investment, author: user) budget_investment2 = create(:budget_investment)