fixes build
adds empty featured_debates
This commit is contained in:
@@ -1,15 +1,16 @@
|
|||||||
class DebatesController < ApplicationController
|
class DebatesController < ApplicationController
|
||||||
include RecaptchaHelper
|
include RecaptchaHelper
|
||||||
before_action :set_debate, only: [:show, :edit, :update]
|
before_action :set_debate, only: [:show, :edit, :update]
|
||||||
before_action :authenticate_user!, except: [:show, :index]
|
before_action :authenticate_user!, except: [:show, :index]
|
||||||
before_action :validate_ownership, only: [:edit, :update]
|
before_action :validate_ownership, only: [:edit, :update]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
if params[:tag]
|
if params[:tag]
|
||||||
@debates = Debate.tagged_with(params[:tag])
|
@debates = Debate.tagged_with(params[:tag]).order("created_at DESC")
|
||||||
else
|
else
|
||||||
@debates = Debate.all
|
@debates = Debate.all.order("created_at DESC")
|
||||||
end
|
end
|
||||||
|
@featured_debates = []
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@@ -53,7 +54,7 @@ class DebatesController < ApplicationController
|
|||||||
|
|
||||||
def verify_captcha?
|
def verify_captcha?
|
||||||
return true unless recaptcha_keys?
|
return true unless recaptcha_keys?
|
||||||
verify_recaptcha(model: @debate)
|
verify_recaptcha(model: @debate)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
42
app/views/debates/_featured_debates.html.erb
Normal file
42
app/views/debates/_featured_debates.html.erb
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<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,52 +1,9 @@
|
|||||||
<section id="debates" role="main">
|
<section role="main">
|
||||||
<div class="row">
|
<div id="featured_debates" class="row">
|
||||||
<!-- HTML for debates featured (3) -->
|
<%= render @featured_debates %>
|
||||||
<% debate = @debates.first %>
|
|
||||||
<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>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- HTML for debates featured (3) -->
|
<div id="debates" class="small-12 medium-9 column debates-list">
|
||||||
<div class="small-12 medium-9 column debates-list">
|
|
||||||
<%= render @debates %>
|
<%= render @debates %>
|
||||||
</div>
|
</div>
|
||||||
<div class="small-12 medium-3 column">
|
<div class="small-12 medium-3 column">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ FactoryGirl.define do
|
|||||||
end
|
end
|
||||||
|
|
||||||
factory :debate do
|
factory :debate do
|
||||||
title 'Debate title'
|
sequence(:title) {|n| "Debate #{n} title"}
|
||||||
description 'Debate description'
|
description 'Debate description'
|
||||||
terms_of_service '1'
|
terms_of_service '1'
|
||||||
association :author, factory: :user
|
association :author, factory: :user
|
||||||
|
|||||||
@@ -3,16 +3,16 @@ require 'rails_helper'
|
|||||||
feature 'Debates' do
|
feature 'Debates' do
|
||||||
|
|
||||||
scenario 'Index' do
|
scenario 'Index' do
|
||||||
3.times { create(:debate) }
|
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('.debate', count: 3)
|
||||||
within first('.debate') do
|
debates.each do |debate|
|
||||||
expect(page).to have_content "Debate title"
|
within('#debates') do
|
||||||
expect(page).to have_content "Debate description"
|
expect(page).to have_content debate.title
|
||||||
expect(page).to have_content Debate.first.author.name
|
expect(page).to have_content debate.description
|
||||||
expect(page).to have_content I18n.l(Date.today)
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ feature 'Debates' do
|
|||||||
|
|
||||||
visit debate_path(debate)
|
visit debate_path(debate)
|
||||||
|
|
||||||
expect(page).to have_content "Debate title"
|
expect(page).to have_content debate.title
|
||||||
expect(page).to have_content "Debate description"
|
expect(page).to have_content "Debate description"
|
||||||
expect(page).to have_content debate.author.name
|
expect(page).to have_content debate.author.name
|
||||||
expect(page).to have_content I18n.l(Date.today)
|
expect(page).to have_content I18n.l(Date.today)
|
||||||
|
|||||||
@@ -18,16 +18,20 @@ feature 'Tags' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Filtered' do
|
scenario 'Filtered' do
|
||||||
2.times { create(:debate, tag_list: 'Salud') }
|
debate1 = create(:debate, tag_list: 'Salud')
|
||||||
2.times { create(:debate, tag_list: 'Hacienda') }
|
debate2 = create(:debate, tag_list: 'Salud')
|
||||||
|
debate3 = create(:debate, tag_list: 'Hacienda')
|
||||||
|
debate4 = create(:debate, tag_list: 'Hacienda')
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
first(:link, "Salud").click
|
first(:link, "Salud").click
|
||||||
|
|
||||||
within('#debates') do
|
within('#debates') do
|
||||||
expect(page).to have_css('.debate', count: 2)
|
expect(page).to have_css('.debate', count: 2)
|
||||||
expect(page).to have_content('Salud')
|
expect(page).to have_content(debate1.title)
|
||||||
expect(page).to_not have_content('Hacienda')
|
expect(page).to have_content(debate2.title)
|
||||||
|
expect(page).to_not have_content(debate3.title)
|
||||||
|
expect(page).to_not have_content(debate4.title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user