adds first 3 debates as featured_debates

This commit is contained in:
Juanjo Bazán
2015-08-04 18:41:09 +02:00
parent c3046ccc2b
commit a2ea42d13d
6 changed files with 59 additions and 53 deletions

View File

@@ -10,7 +10,7 @@ class DebatesController < ApplicationController
else
@debates = Debate.all.order("created_at DESC")
end
@featured_debates = []
@featured_debates = @debates.to_a.shift(3)
end
def show

View 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>&nbsp;<%= 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>

View File

@@ -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>&nbsp;<%= 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>

View File

@@ -1,6 +1,6 @@
<section role="main">
<div id="featured_debates" class="row">
<%= render @featured_debates %>
<div id="featured-debates" class="row">
<%= render partial: "featured_debate", collection: @featured_debates %>
</div>
<div class="row">
<div id="debates" class="small-12 medium-9 column debates-list">

View File

@@ -4,10 +4,19 @@ feature 'Debates' do
scenario 'Index' do
debates = [create(:debate), create(:debate), create(:debate)]
featured_debates = [create(:debate), create(:debate), create(:debate)]
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|
within('#debates') do
expect(page).to have_content debate.title

View File

@@ -26,13 +26,11 @@ feature 'Tags' do
visit debates_path
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
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
scenario 'Show' do