adds first 3 debates as featured_debates
This commit is contained in:
@@ -10,7 +10,7 @@ class DebatesController < ApplicationController
|
|||||||
else
|
else
|
||||||
@debates = Debate.all.order("created_at DESC")
|
@debates = Debate.all.order("created_at DESC")
|
||||||
end
|
end
|
||||||
@featured_debates = []
|
@featured_debates = @debates.to_a.shift(3)
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
|
|||||||
41
app/views/debates/_featured_debate.html.erb
Normal file
41
app/views/debates/_featured_debate.html.erb
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<div class="small-12 medium-4 column debates-list">
|
||||||
|
<div class="row">
|
||||||
|
<div class="debates-featured">
|
||||||
|
<div id="debate-<%= featured_debate.id %>" class="small-12 column end debate">
|
||||||
|
<div class="panel">
|
||||||
|
<div class="debate-content">
|
||||||
|
<span class="label left"><%= t("debates.debate.debate") %></span>
|
||||||
|
<i class="icon-quote-right right"></i>
|
||||||
|
|
||||||
|
<h3><%= link_to featured_debate.title, featured_debate %></h3>
|
||||||
|
<p class="debate-info">
|
||||||
|
<i class="icon-chat-bubble-two"></i> <%= pluralize(featured_debate.comment_threads.count, t("debates.show.comment"), t("debates.show.comments")) %>
|
||||||
|
</p>
|
||||||
|
<p><%= sanitize(truncate(featured_debate.description, length: 200).html_safe) %></p>
|
||||||
|
<p><%= render "shared/tags", debate: featured_debate %></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row votes">
|
||||||
|
<div class="small-12 column">
|
||||||
|
<%= link_to debate_votes_path(featured_debate, value: "yes"), class: "like", title: t('votes.agree'), method: "post" do %>
|
||||||
|
<i class="icon-like"></i>
|
||||||
|
<span><%= percentage('likes', featured_debate) %></span>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<span class="divider"></span>
|
||||||
|
|
||||||
|
<%= link_to debate_votes_path(featured_debate, value: "no"), class: "unlike", title: t('votes.disagree'), method: "post" do %>
|
||||||
|
<i class="icon-unlike"></i>
|
||||||
|
<span><%= percentage('dislikes', featured_debate) %></span>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<span class="total-votes right">
|
||||||
|
<%= pluralize(featured_debate.total_votes, t("debates.debate.vote"), t("debates.debate.votes")) %>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
<div class="small-12 medium-4 column debates-list">
|
|
||||||
<div class="row">
|
|
||||||
<div class="debates-featured">
|
|
||||||
<div id="debate-<%= debate.id %>" class="small-12 column end debate">
|
|
||||||
<div class="panel">
|
|
||||||
<div class="debate-content">
|
|
||||||
<span class="label left"><%= t("debates.debate.debate") %></span>
|
|
||||||
<i class="icon-quote-right right"></i>
|
|
||||||
|
|
||||||
<h3><%= link_to debate.title, debate %></h3>
|
|
||||||
<p class="debate-info">
|
|
||||||
<i class="icon-chat-bubble-two"></i> <%= pluralize(debate.comment_threads.count, t("debates.show.comment"), t("debates.show.comments")) %>
|
|
||||||
</p>
|
|
||||||
<p><%= sanitize(truncate(debate.description, length: 200).html_safe) %></p>
|
|
||||||
<p><%= render "shared/tags", debate: debate %></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row votes">
|
|
||||||
<div class="small-12 column">
|
|
||||||
<%= link_to debate_votes_path(debate, value: "yes"), class: "like", title: t('votes.agree'), method: "post" do %>
|
|
||||||
<i class="icon-like"></i>
|
|
||||||
<span><%= percentage('likes', debate) %></span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<span class="divider"></span>
|
|
||||||
|
|
||||||
<%= link_to debate_votes_path(debate, value: "no"), class: "unlike", title: t('votes.disagree'), method: "post" do %>
|
|
||||||
<i class="icon-unlike"></i>
|
|
||||||
<span><%= percentage('dislikes', debate) %></span>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<span class="total-votes right">
|
|
||||||
<%= pluralize(debate.total_votes, t("debates.debate.vote"), t("debates.debate.votes")) %>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<section role="main">
|
<section role="main">
|
||||||
<div id="featured_debates" class="row">
|
<div id="featured-debates" class="row">
|
||||||
<%= render @featured_debates %>
|
<%= render partial: "featured_debate", collection: @featured_debates %>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div id="debates" class="small-12 medium-9 column debates-list">
|
<div id="debates" class="small-12 medium-9 column debates-list">
|
||||||
|
|||||||
@@ -4,10 +4,19 @@ feature 'Debates' do
|
|||||||
|
|
||||||
scenario 'Index' do
|
scenario 'Index' do
|
||||||
debates = [create(:debate), create(:debate), create(:debate)]
|
debates = [create(:debate), create(:debate), create(:debate)]
|
||||||
|
featured_debates = [create(:debate), create(:debate), create(:debate)]
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
|
|
||||||
expect(page).to have_selector('.debate', count: 3)
|
expect(page).to have_selector('#featured-debates .debate', count: 3)
|
||||||
|
featured_debates.each do |debate|
|
||||||
|
within('#featured-debates') do
|
||||||
|
expect(page).to have_content debate.title
|
||||||
|
expect(page).to have_content debate.description
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(page).to have_selector('#debates .debate', count: 3)
|
||||||
debates.each do |debate|
|
debates.each do |debate|
|
||||||
within('#debates') do
|
within('#debates') do
|
||||||
expect(page).to have_content debate.title
|
expect(page).to have_content debate.title
|
||||||
|
|||||||
@@ -26,14 +26,12 @@ feature 'Tags' do
|
|||||||
visit debates_path
|
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_css('.debate', count: 2)
|
||||||
expect(page).to have_content(debate1.title)
|
expect(page).to have_content(debate1.title)
|
||||||
expect(page).to have_content(debate2.title)
|
expect(page).to have_content(debate2.title)
|
||||||
expect(page).to_not have_content(debate3.title)
|
expect(page).to_not have_content(debate3.title)
|
||||||
expect(page).to_not have_content(debate4.title)
|
expect(page).to_not have_content(debate4.title)
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'Show' do
|
scenario 'Show' do
|
||||||
debate = create(:debate, tag_list: 'Hacienda, Economía')
|
debate = create(:debate, tag_list: 'Hacienda, Economía')
|
||||||
|
|||||||
Reference in New Issue
Block a user