Add basic coverage for `RemoveDomainsFromFollowersService` class (#29327)

shrike
Matt Jankowski 2024-02-22 05:53:38 -05:00 committed by GitHub
parent 7c7dfe7de3
commit e9b0f0c314
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe RemoveDomainsFromFollowersService do
describe '#call' do
context 'with account followers' do
let(:account) { Fabricate(:account, domain: nil) }
let(:good_domain_account) { Fabricate(:account, domain: 'good.example', protocol: :activitypub) }
let(:bad_domain_account) { Fabricate(:account, domain: 'bad.example', protocol: :activitypub) }
before do
Fabricate :follow, target_account: account, account: good_domain_account
Fabricate :follow, target_account: account, account: bad_domain_account
end
it 'removes followers from supplied domains and sends a notification' do
subject.call(account, ['bad.example'])
expect(account.followers)
.to include(good_domain_account)
.and not_include(bad_domain_account)
expect(ActivityPub::DeliveryWorker)
.to have_enqueued_sidekiq_job(anything, account.id, bad_domain_account.inbox_url)
end
end
end
end