From 174a4b1b382df3fd476e2104a7a5ce84fe0a5394 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 22 Jun 2026 09:26:59 -0400 Subject: [PATCH] Add field verification scenario for `VerifyAccountLinksWorker` spec (#39401) --- .../verify_account_links_worker_spec.rb | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/spec/workers/verify_account_links_worker_spec.rb b/spec/workers/verify_account_links_worker_spec.rb index 3f600b8c979..776d77e65c8 100644 --- a/spec/workers/verify_account_links_worker_spec.rb +++ b/spec/workers/verify_account_links_worker_spec.rb @@ -6,8 +6,37 @@ RSpec.describe VerifyAccountLinksWorker do let(:worker) { described_class.new } describe 'perform' do - it 'runs without error for missing record' do - expect { worker.perform(nil) }.to_not raise_error + subject { worker.perform(account_id) } + + context 'with invalid account' do + let(:account_id) { 123_123_123 } + + it 'runs without error for missing record' do + expect { subject } + .to_not raise_error + end + end + + context 'with an account that has fields' do + let(:account) { Fabricate :account } + let(:account_id) { account.id } + let(:url) { ActivityPub::TagManager.instance.url_for(account) } + + before do + stub_request(:get, 'https://linkedin.com/user') + .to_return(status: 200, body: <<~HTML) + me + HTML + account.fields = [{ name: 'GitHub', value: 'https://github.com/user', verified_at: 2.days.ago }, { name: 'LinkedIn', value: 'https://linkedin.com/user' }] + account.save! + end + + it 'verifies the fields and updates the account' do + expect { subject } + .to(change { account.reload.updated_at }) + expect(account.fields) + .to include(have_attributes(name: 'LinkedIn', verified_at: be_present)) + end end end end