diff --git a/app/models/card/closeable.rb b/app/models/card/closeable.rb index e4cea509f..ff947452b 100644 --- a/app/models/card/closeable.rb +++ b/app/models/card/closeable.rb @@ -31,6 +31,7 @@ def closed_at def close(user: Current.user) unless closed? transaction do + not_now&.destroy create_closure! user: user track_event :closed, creator: user end diff --git a/test/models/card/closeable_test.rb b/test/models/card/closeable_test.rb index 21926aa6e..d982be855 100644 --- a/test/models/card/closeable_test.rb +++ b/test/models/card/closeable_test.rb @@ -31,4 +31,32 @@ class Card::CloseableTest < ActiveSupport::TestCase 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