diff --git a/app/models/filter.rb b/app/models/filter.rb index b848a43bb..12b51418a 100644 --- a/app/models/filter.rb +++ b/app/models/filter.rb @@ -18,7 +18,7 @@ class Filter < ApplicationRecord def cards @cards ||= begin - result = creator.accessible_cards + result = creator.accessible_cards.published result = result.indexed_by(indexed_by) result = result.sorted_by(sorted_by) result = result.where(id: card_ids) if card_ids.present? diff --git a/test/fixtures/cards.yml b/test/fixtures/cards.yml index 1e82b7070..00b10e2e2 100644 --- a/test/fixtures/cards.yml +++ b/test/fixtures/cards.yml @@ -42,3 +42,4 @@ buy_domain: created_at: <%= 1.week.ago %> status: published last_active_at: <%= 1.week.ago %> + diff --git a/test/models/filter_test.rb b/test/models/filter_test.rb index 9bd368f79..46e796609 100644 --- a/test/models/filter_test.rb +++ b/test/models/filter_test.rb @@ -4,7 +4,7 @@ class FilterTest < ActiveSupport::TestCase test "cards" do Current.set session: sessions(:david) do @new_collection = Collection.create! name: "Inaccessible Collection" - @new_card = @new_collection.cards.create! + @new_card = @new_collection.cards.create!(status: "published") cards(:layout).comments.create!(body: "I hate haggis") cards(:logo).comments.create!(body: "I love haggis") @@ -18,18 +18,15 @@ class FilterTest < ActiveSupport::TestCase filter = users(:david).filters.new assignment_status: "unassigned", collection_ids: [ @new_collection.id ] assert_equal [ @new_card ], filter.cards - # @TODO: Temporarily commented until we make a decision on the search approach - # filter = users(:david).filters.new terms: [ "haggis" ] - # assert_equal cards(:logo, :layout).sort, filter.cards.sort - # - # filter = users(:david).filters.new terms: [ "haggis", "love" ] - # assert_equal [ cards(:logo) ], filter.cards - filter = users(:david).filters.new indexed_by: "closed" assert_equal [ cards(:shipping) ], filter.cards filter = users(:david).filters.new card_ids: [ cards(:logo, :layout).collect(&:id) ] assert_equal [ cards(:logo), cards(:layout) ], filter.cards + + filter = users(:david).filters.new card_ids: [ cards(:logo, :layout).collect(&:id) ] + cards(:logo).drafted! + assert_equal [ cards(:layout) ], filter.cards end test "can't see cards in collections that aren't accessible" do