Make sure new card drafts are refreshed when reused

To deal with old timestamps messing with card ordering and so.

https://app.fizzy.do/5986089/cards/3495
This commit is contained in:
Jorge Manrubia
2026-01-05 15:57:48 +01:00
parent abe16bf055
commit 3008011175
3 changed files with 39 additions and 1 deletions
+32
View File
@@ -12,4 +12,36 @@ class User::AccessorTest < ActiveSupport::TestCase
system_user = User.create!(account: accounts("37s"), role: "system", name: "Test System User")
assert_empty system_user.boards
end
test "creating a new card draft sets current timestamps" do
user = users(:david)
board = boards(:writebook)
freeze_time do
card = user.draft_new_card_at(board)
assert card.persisted?
assert card.drafted?
assert_equal user, card.creator
assert_equal board, card.board
assert_equal Time.current, card.created_at
assert_equal Time.current, card.updated_at
assert_equal Time.current, card.last_active_at
end
end
test "reusing an existing card draft refreshes timestamps" do
existing_draft = cards(:unfinished_thoughts)
user = existing_draft.creator
board = existing_draft.board
freeze_time do
card = user.draft_new_card_at(board)
assert_equal existing_draft, card
assert_equal Time.current, card.created_at
assert_equal Time.current, card.updated_at
assert_equal Time.current, card.last_active_at
end
end
end