From 7e826a9cb47d7832d260368603e9ce6fe0bd0b7c Mon Sep 17 00:00:00 2001 From: taitus Date: Mon, 23 Aug 2021 13:10:52 +0200 Subject: [PATCH] Do not show unpublished proposals on the homepage The chances of an unpublished proposal appearing on the homepage was very low because only the proposals with the most votes appear there and unpublished proposals don't have any votes. However, it was technically possible on new sites where only a few proposals had been created. --- app/models/widget/feed.rb | 2 +- spec/models/widget/feed_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/widget/feed.rb b/app/models/widget/feed.rb index e7dcaa467..cce6c69bc 100644 --- a/app/models/widget/feed.rb +++ b/app/models/widget/feed.rb @@ -21,7 +21,7 @@ class Widget::Feed < ApplicationRecord end def proposals - Proposal.sort_by_hot_score.limit(limit) + Proposal.published.sort_by_hot_score.limit(limit) end def debates diff --git a/spec/models/widget/feed_spec.rb b/spec/models/widget/feed_spec.rb index 476fecbb7..f45b5d926 100644 --- a/spec/models/widget/feed_spec.rb +++ b/spec/models/widget/feed_spec.rb @@ -28,6 +28,14 @@ describe Widget::Feed do expect(feed.proposals).to eq([best_proposal, medium_proposal, worst_proposal]) end + + it "does not return unpublished proposals" do + create(:proposal, :draft, title: "Draft proposal") + + feed = build(:widget_feed, kind: "proposals") + + expect(feed.proposals).to be_empty + end end describe "#debates" do