Scope tags by account

We missed this one when we went to MySQL. This can results in cards tagged with cards
from other accounts. No data leaked though: the symptom is that you see the card
tagged as expected but you don't see the tag in the menu.
This commit is contained in:
Jorge Manrubia
2025-12-03 23:37:52 +01:00
parent 372d46f2cc
commit 4a30663df1
2 changed files with 10 additions and 1 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ module Card::Taggable
end
def toggle_tag_with(title)
tag = Tag.find_or_create_by!(title: title)
tag = account.tags.find_or_create_by!(title: title)
transaction do
if tagged_with?(tag)
+9
View File
@@ -16,4 +16,13 @@ class Card::TaggableTest < ActiveSupport::TestCase
@card.toggle_tag_with "ruby"
end
end
test "scope tags by account" do
assert_difference -> { Tag.count }, 2 do
cards(:logo).toggle_tag_with "ruby"
cards(:paycheck).toggle_tag_with "ruby"
end
assert_not_equal cards(:logo).tags.last, cards(:paycheck).tags.last
end
end