1
0
mirror of https://github.com/mastodon/mastodon synced 2024-11-30 15:58:14 +09:00

block scheduled status from frozen users (#30729)

This commit is contained in:
Paulo Vilarinho 2024-11-20 16:06:41 -03:00 committed by GitHub
parent 683db3ab25
commit 2526b32ad3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 4 deletions

View File

@ -9,6 +9,8 @@ class PublishScheduledStatusWorker
scheduled_status = ScheduledStatus.find(scheduled_status_id) scheduled_status = ScheduledStatus.find(scheduled_status_id)
scheduled_status.destroy! scheduled_status.destroy!
return true if scheduled_status.account.user.disabled?
PostStatusService.new.call( PostStatusService.new.call(
scheduled_status.account, scheduled_status.account,
options_with_objects(scheduled_status.params.with_indifferent_access) options_with_objects(scheduled_status.params.with_indifferent_access)

View File

@ -12,6 +12,7 @@ RSpec.describe PublishScheduledStatusWorker do
subject.perform(scheduled_status.id) subject.perform(scheduled_status.id)
end end
context 'when the account is not disabled' do
it 'creates a status' do it 'creates a status' do
expect(scheduled_status.account.statuses.first.text).to eq 'Hello world, future!' expect(scheduled_status.account.statuses.first.text).to eq 'Hello world, future!'
end end
@ -20,4 +21,17 @@ RSpec.describe PublishScheduledStatusWorker do
expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil
end end
end end
context 'when the account is disabled' do
let(:scheduled_status) { Fabricate(:scheduled_status, account: Fabricate(:account, user: Fabricate(:user, disabled: true))) }
it 'does not create a status' do
expect(Status.count).to eq 0
end
it 'removes the scheduled status' do
expect(ScheduledStatus.find_by(id: scheduled_status.id)).to be_nil
end
end
end
end end