Add test for triaging cards

This commit is contained in:
Jorge Manrubia
2025-09-28 22:02:17 +02:00
parent f7f4aa6eaf
commit e1f052935a
3 changed files with 73 additions and 2 deletions
+1 -2
View File
@@ -21,7 +21,6 @@ module Card::Triageable
transaction do
resume
activity_spike&.destroy
update! column: column
end
end
@@ -29,7 +28,7 @@ module Card::Triageable
def send_back_to_triage
transaction do
resume
update!(column: nil)
update! column: nil
end
end
end
+8
View File
@@ -34,3 +34,11 @@ shipping:
created_at: <%= 1.week.ago %>
status: published
last_active_at: <%= 1.week.ago %>
buy_domain:
collection: writebook
creator: david
title: Buy domain
created_at: <%= 2.days.ago %>
status: published
last_active_at: <%= 2.days.ago %>
+64
View File
@@ -0,0 +1,64 @@
require "test_helper"
class Card::TriageableTest < ActiveSupport::TestCase
setup do
Current.session = sessions(:david)
end
test "active cards with columns are triaged" do
assert cards(:logo).triaged?
assert cards(:text).triaged?
assert_not cards(:buy_domain).triaged?
end
test "active cards without columns are awaiting triage" do
assert cards(:buy_domain).awaiting_triage?
assert_not cards(:logo).awaiting_triage?
assert_not cards(:text).awaiting_triage?
end
test "triage a card" do
card = cards(:buy_domain)
column = columns(:writebook_in_progress)
assert_nil card.column
assert card.awaiting_triage?
card.triage_into(column)
assert_equal column, card.reload.column
assert card.triaged?
end
test "cannot triage into a column from a different collection" do
card = cards(:buy_domain)
other_collection_column = Column.create!(
name: "Other",
color: "#000000",
collection: collections(:private)
)
assert_raises(RuntimeError, "The column must belong to the card collection") do
card.triage_into(other_collection_column)
end
end
test "send a card back to triage" do
card = cards(:logo)
assert card.triaged?
card.send_back_to_triage
assert card.reload.awaiting_triage?
end
test "scopes" do
assert_includes Card.awaiting_triage, cards(:buy_domain)
assert_not_includes Card.awaiting_triage, cards(:logo)
assert_not_includes Card.awaiting_triage, cards(:text)
assert_includes Card.triaged, cards(:logo)
assert_includes Card.triaged, cards(:text)
assert_not_includes Card.triaged, cards(:buy_domain)
end
end