~cytrogen/masto-fe

4cfe52635cf82ae496bf2c6b8e3271ad931d225a — Matt Jankowski 2 years ago 105f868
Add pending spec for User.those_who_can (#24724)

2 files changed, 23 insertions(+), 2 deletions(-)

M .rubocop_todo.yml
M spec/models/user_spec.rb
M .rubocop_todo.yml => .rubocop_todo.yml +0 -1
@@ 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.

M spec/models/user_spec.rb => spec/models/user_spec.rb +23 -1
@@ 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