Extract `COMMENT_SIZE_LIMIT` constant in `AP::Activity::Flag` class (#30637)
parent
9bf2e2eda0
commit
9cc4040308
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class ActivityPub::Activity::Flag < ActivityPub::Activity
|
||||
COMMENT_SIZE_LIMIT = 5000
|
||||
|
||||
def perform
|
||||
return if skip_reports?
|
||||
|
||||
|
@ -38,6 +40,6 @@ class ActivityPub::Activity::Flag < ActivityPub::Activity
|
|||
end
|
||||
|
||||
def report_comment
|
||||
(@json['content'] || '')[0...5000]
|
||||
(@json['content'] || '')[0...COMMENT_SIZE_LIMIT]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -54,7 +54,7 @@ RSpec.describe ActivityPub::Activity::Flag do
|
|||
}.with_indifferent_access, sender)
|
||||
end
|
||||
|
||||
let(:long_comment) { Faker::Lorem.characters(number: 6000) }
|
||||
let(:long_comment) { 'a' * described_class::COMMENT_SIZE_LIMIT * 2 }
|
||||
|
||||
before do
|
||||
subject.perform
|
||||
|
@ -63,10 +63,12 @@ RSpec.describe ActivityPub::Activity::Flag do
|
|||
it 'creates a report but with a truncated comment' do
|
||||
report = Report.find_by(account: sender, target_account: flagged)
|
||||
|
||||
expect(report).to_not be_nil
|
||||
expect(report.comment.length).to eq 5000
|
||||
expect(report.comment).to eq long_comment[0...5000]
|
||||
expect(report.status_ids).to eq [status.id]
|
||||
expect(report)
|
||||
.to be_present
|
||||
.and have_attributes(status_ids: [status.id])
|
||||
expect(report.comment)
|
||||
.to have_attributes(length: described_class::COMMENT_SIZE_LIMIT)
|
||||
.and eq(long_comment[0...described_class::COMMENT_SIZE_LIMIT])
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue