From db897eaa5ad517154c531df2b5f0f97fdc53ad16 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 14 Dec 2023 09:07:54 -0500
Subject: [PATCH] Unwind `map` on single-item array in
 `spec/services/delete_account_service` spec (#28358)

---
 spec/services/delete_account_service_spec.rb | 58 +++++++++++---------
 1 file changed, 32 insertions(+), 26 deletions(-)

diff --git a/spec/services/delete_account_service_spec.rb b/spec/services/delete_account_service_spec.rb
index 8a19d3cf747..a2c57f1c1ee 100644
--- a/spec/services/delete_account_service_spec.rb
+++ b/spec/services/delete_account_service_spec.rb
@@ -50,11 +50,11 @@ RSpec.describe DeleteAccountService, type: :service do
     end
 
     def delete_associated_target_records
-      change do
-        [
-          AccountPin.where(target_account: account),
-        ].map(&:count)
-      end.from([1]).to([0])
+      change(account_pins_for_account, :count).from(1).to(0)
+    end
+
+    def account_pins_for_account
+      AccountPin.where(target_account: account)
     end
 
     def delete_associated_target_notifications
@@ -100,28 +100,34 @@ RSpec.describe DeleteAccountService, type: :service do
       it 'sends expected activities to followed and follower inboxes' do
         subject
 
-        expect(a_request(:post, account.inbox_url).with(
-                 body:
-                   hash_including({
-                     'type' => 'Reject',
-                     'object' => hash_including({
-                       'type' => 'Follow',
-                       'actor' => account.uri,
-                       'object' => ActivityPub::TagManager.instance.uri_for(local_follower),
-                     }),
-                   })
-               )).to have_been_made.once
+        expect(post_to_inbox_with_reject).to have_been_made.once
+        expect(post_to_inbox_with_undo).to have_been_made.once
+      end
 
-        expect(a_request(:post, account.inbox_url).with(
-                 body: hash_including({
-                   'type' => 'Undo',
-                   'object' => hash_including({
-                     'type' => 'Follow',
-                     'actor' => ActivityPub::TagManager.instance.uri_for(local_follower),
-                     'object' => account.uri,
-                   }),
-                 })
-               )).to have_been_made.once
+      def post_to_inbox_with_undo
+        a_request(:post, account.inbox_url).with(
+          body: hash_including({
+            'type' => 'Undo',
+            'object' => hash_including({
+              'type' => 'Follow',
+              'actor' => ActivityPub::TagManager.instance.uri_for(local_follower),
+              'object' => account.uri,
+            }),
+          })
+        )
+      end
+
+      def post_to_inbox_with_reject
+        a_request(:post, account.inbox_url).with(
+          body: hash_including({
+            'type' => 'Reject',
+            'object' => hash_including({
+              'type' => 'Follow',
+              'actor' => account.uri,
+              'object' => ActivityPub::TagManager.instance.uri_for(local_follower),
+            }),
+          })
+        )
       end
     end
   end