From c0ee6f33c597c97bc66866e77c1c02f8dcb2a4c7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 12 Jun 2026 04:14:46 -0400 Subject: [PATCH] Add basic coverage for `MuteWorker` job (#39384) --- spec/workers/mute_worker_spec.rb | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 spec/workers/mute_worker_spec.rb diff --git a/spec/workers/mute_worker_spec.rb b/spec/workers/mute_worker_spec.rb new file mode 100644 index 0000000000..5422bf9552 --- /dev/null +++ b/spec/workers/mute_worker_spec.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe MuteWorker do + let(:worker) { described_class.new } + + describe '#perform' do + subject { worker.perform(account_id, target_account_id) } + + let(:account) { Fabricate :account } + let(:target_account) { Fabricate :account } + + let(:account_id) { account.id } + let(:target_account_id) { target_account.id } + + context 'when account is invalid' do + let(:account_id) { nil } + + it { is_expected.to be(true) } + end + + context 'when target account is invalid' do + let(:target_account_id) { nil } + + it { is_expected.to be(true) } + end + + context 'with feed contents' do + let(:manager_service) { instance_double(FeedManager, clear_from_home: nil, clear_from_lists: nil) } + + before { allow(FeedManager).to receive(:instance).and_return manager_service } + + it 'clears feeds' do + subject + + expect(manager_service) + .to have_received(:clear_from_home).with(account, target_account) + expect(manager_service) + .to have_received(:clear_from_lists).with(account, target_account) + end + end + end +end