From 4e815fc423057e4c17fa5779e2876fdc2c08d0ed Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 7 May 2025 16:16:13 -0400 Subject: [PATCH] Ensure that a "reconsidered" card gets an updated timestamp so that it's not closed by the subsequent Card::AutoCloseAllDueJob ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009030 --- app/models/card/engageable.rb | 1 + test/models/card/engageable_test.rb | 3 +++ 2 files changed, 4 insertions(+) diff --git a/app/models/card/engageable.rb b/app/models/card/engageable.rb index 6671bc5a1..f59ef2ab3 100644 --- a/app/models/card/engageable.rb +++ b/app/models/card/engageable.rb @@ -49,6 +49,7 @@ module Card::Engageable transaction do reopen engagement&.destroy + touch(:last_active_at) end end end diff --git a/test/models/card/engageable_test.rb b/test/models/card/engageable_test.rb index a0b041689..0db817a40 100644 --- a/test/models/card/engageable_test.rb +++ b/test/models/card/engageable_test.rb @@ -48,6 +48,8 @@ class Card::EngageableTest < ActiveSupport::TestCase end test "auto_reconsider_all_stagnated" do + travel_to Time.current + cards(:logo, :shipping).each(&:engage) cards(:logo).update!(last_active_at: 1.day.ago - Card::Engageable::STAGNATED_AFTER) @@ -59,5 +61,6 @@ class Card::EngageableTest < ActiveSupport::TestCase assert cards(:shipping).reload.doing? assert cards(:logo).reload.considering? + assert_equal Time.current, cards(:logo).last_active_at end end