From acdc7706cef717e2b3c121e89a438161e2eb3d88 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Wed, 15 Oct 2025 13:59:50 +0200 Subject: [PATCH] Add not now and closed as status filters https://fizzy.37signals.com/5986089/cards/2342 --- app/models/card.rb | 1 + app/models/filter/fields.rb | 2 +- test/models/filter_test.rb | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/card.rb b/app/models/card.rb index 83a96dd6a..7893db85a 100644 --- a/app/models/card.rb +++ b/app/models/card.rb @@ -24,6 +24,7 @@ class Card < ApplicationRecord when "stalled" then stalled when "postponing_soon" then postponing_soon when "closed" then closed.recently_closed_first + when "not_now" then postponed.latest when "golden" then golden when "draft" then drafted else all diff --git a/app/models/filter/fields.rb b/app/models/filter/fields.rb index 027ae8ac6..b9021149c 100644 --- a/app/models/filter/fields.rb +++ b/app/models/filter/fields.rb @@ -1,7 +1,7 @@ module Filter::Fields extend ActiveSupport::Concern - INDEXES = %w[ all stalled postponing_soon golden draft ] + INDEXES = %w[ all closed not_now stalled postponing_soon golden draft ] SORTED_BY = %w[ newest oldest latest ] delegate :default_value?, to: :class diff --git a/test/models/filter_test.rb b/test/models/filter_test.rb index 46e796609..56a627883 100644 --- a/test/models/filter_test.rb +++ b/test/models/filter_test.rb @@ -1,6 +1,10 @@ require "test_helper" class FilterTest < ActiveSupport::TestCase + setup do + Current.session = sessions(:david) + end + test "cards" do Current.set session: sessions(:david) do @new_collection = Collection.create! name: "Inaccessible Collection" @@ -21,6 +25,10 @@ class FilterTest < ActiveSupport::TestCase filter = users(:david).filters.new indexed_by: "closed" assert_equal [ cards(:shipping) ], filter.cards + cards(:shipping).postpone + filter = users(:david).filters.new indexed_by: "now_now" + assert_includes filter.cards, cards(:shipping) + filter = users(:david).filters.new card_ids: [ cards(:logo, :layout).collect(&:id) ] assert_equal [ cards(:logo), cards(:layout) ], filter.cards