2
0

Fix bookmarks export when one bookmarked status is soft-deleted (#36576)

This commit is contained in:
Claire
2025-10-23 13:51:23 +02:00
committed by GitHub
parent 2fa5dd6d1f
commit 6b2051b7b3
2 changed files with 10 additions and 5 deletions

View File

@@ -12,7 +12,7 @@ class Export
def to_bookmarks_csv
CSV.generate do |csv|
account.bookmarks.includes(:status).reorder(id: :desc).each do |bookmark|
csv << [ActivityPub::TagManager.instance.uri_for(bookmark.status)]
csv << [ActivityPub::TagManager.instance.uri_for(bookmark.status)] if bookmark.status.present?
end
end
end

View File

@@ -14,15 +14,20 @@ RSpec.describe Export do
end
describe '#to_bookmarks_csv' do
before { Fabricate.times(2, :bookmark, account: account) }
let!(:bookmark) { Fabricate(:bookmark, account: account) }
let(:export) { CSV.parse(subject.to_bookmarks_csv) }
let!(:second_bookmark) { Fabricate(:bookmark, account: account) }
let!(:bookmark_of_soft_deleted) { Fabricate(:bookmark, account: account) }
before do
bookmark_of_soft_deleted.status.discard
end
it 'returns a csv of bookmarks' do
expect(export)
.to contain_exactly(
include(/statuses/),
include(/statuses/)
[ActivityPub::TagManager.instance.uri_for(bookmark.status)],
[ActivityPub::TagManager.instance.uri_for(second_bookmark.status)]
)
end
end