Files
fizzy/test/models/card/closeable_test.rb
T
Dylan a005391724 Fix: allow destroying "not now" state when closing cards
- Update `Card::Closeable` to destroy associated "not now" state during close.
- Add new tests to verify closure behavior for different column types, including "not now".
2025-12-23 13:43:03 +08:00

63 lines
1.4 KiB
Ruby

require "test_helper"
class Card::CloseableTest < ActiveSupport::TestCase
setup do
Current.session = sessions(:david)
end
test "closed scope" do
assert_equal [ cards(:shipping) ], Card.closed
assert_not_includes Card.open, cards(:shipping)
end
test "close cards" do
assert_not cards(:logo).closed?
assert_difference -> { cards(:logo).events.count }, +1 do
cards(:logo).close(user: users(:kevin))
end
assert cards(:logo).closed?
assert cards(:logo).events.last.action.card_closed?
assert_equal users(:kevin), cards(:logo).closed_by
end
test "reopen cards" do
assert cards(:shipping).closed?
assert_difference -> { cards(:shipping).events.count }, +1 do
cards(:shipping).reopen
end
assert cards(:shipping).reload.open?
assert cards(:shipping).events.last.action.card_reopened?
end
test "close card from triage column" do
card = cards(:logo)
assert_equal columns(:writebook_triage), card.column
card.close
assert card.closed?
end
test "close card from active column" do
card = cards(:text)
assert_equal columns(:writebook_in_progress), card.column
card.close
assert card.closed?
end
test "close card from NOT NOW" do
card = cards(:logo)
card.postpone
assert card.postponed?
assert card.not_now.present?
card.close
assert card.closed?
assert_nil card.reload.not_now
end
end