diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 9ce404a1dedffb156cdc06394db1cf9ec6468263..2b6138783024b7790b1856571a1ef6eb9043423d 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -857,7 +857,6 @@ RSpec/PendingWithoutReason:
   Exclude:
     - 'spec/controllers/statuses_controller_spec.rb'
     - 'spec/models/account_spec.rb'
-    - 'spec/models/user_spec.rb'
 
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 2bb6a334b188ce17f3ace11709a4084186e7f327..b7754e9265aa15239b7f8055d83b946706ac425b 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -527,6 +527,28 @@ RSpec.describe User, type: :model do
   end
 
   describe '.those_who_can' do
-    pending
+    let!(:moderator_user) { Fabricate(:user, role: UserRole.find_by(name: 'Moderator')) }
+
+    context 'when there are not any user roles' do
+      before { UserRole.destroy_all }
+
+      it 'returns an empty list' do
+        expect(User.those_who_can(:manage_blocks)).to eq([])
+      end
+    end
+
+    context 'when there are not users with the needed role' do
+      it 'returns an empty list' do
+        expect(User.those_who_can(:manage_blocks)).to eq([])
+      end
+    end
+
+    context 'when there are users with roles' do
+      let!(:admin_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+      it 'returns the users with the role' do
+        expect(User.those_who_can(:manage_blocks)).to eq([admin_user])
+      end
+    end
   end
 end