Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `app/controllers/settings/preferences_controller.rb`: Conflicts due to us having more user settings and upstream dropping `hide_network` (to replace it with an account attribute, properly migrated). Dropped `hide_network` like upstream. - `app/lib/user_settings_decorator.rb`: Conflicts due to us having more user settings and upstream dropping `hide_network` (to replace it with an account attribute, properly migrated). Dropped `hide_network` like upstream. - `app/models/status.rb`: Conflict because of slight change in how glitch-soc handles the scope to filter out local-only posts for anonymous viewers. Took upstream's changes and re-applied glitch-soc's change. - `app/models/user.rb`: Conflicts due to us having more user settings and upstream dropping `hide_network` (to replace it with an account attribute, properly migrated). Dropped `hide_network` like upstream. - `app/views/directories/index.html.haml`: Conflict because upstream redesigned that page while glitch-soc had a minor change to support hiding the number of followers. Ported glitch-soc's change on top of upstream's redesign. Additional changes: - `app/models/account_statuses_filter.rb`: See change to `app/models/status.rb`.
This commit is contained in:
		
							
								
								
									
										58
									
								
								spec/presenters/familiar_followers_presenter_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								spec/presenters/familiar_followers_presenter_spec.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| require 'rails_helper' | ||||
|  | ||||
| RSpec.describe FamiliarFollowersPresenter do | ||||
|   describe '#accounts' do | ||||
|     let(:account) { Fabricate(:account) } | ||||
|     let(:familiar_follower) { Fabricate(:account) } | ||||
|     let(:requested_accounts) { Fabricate.times(2, :account) } | ||||
|  | ||||
|     subject { described_class.new(requested_accounts, account.id) } | ||||
|  | ||||
|     before do | ||||
|       familiar_follower.follow!(requested_accounts.first) | ||||
|       account.follow!(familiar_follower) | ||||
|     end | ||||
|  | ||||
|     it 'returns a result for each requested account' do | ||||
|       expect(subject.accounts.map(&:id)).to eq requested_accounts.map(&:id) | ||||
|     end | ||||
|  | ||||
|     it 'returns followers you follow' do | ||||
|       result = subject.accounts.first | ||||
|  | ||||
|       expect(result).to_not be_nil | ||||
|       expect(result.id).to eq requested_accounts.first.id | ||||
|       expect(result.accounts).to match_array([familiar_follower]) | ||||
|     end | ||||
|  | ||||
|     context 'when requested account hides followers' do | ||||
|       before do | ||||
|         requested_accounts.first.update(hide_collections: true) | ||||
|       end | ||||
|  | ||||
|       it 'does not return followers you follow' do | ||||
|         result = subject.accounts.first | ||||
|  | ||||
|         expect(result).to_not be_nil | ||||
|         expect(result.id).to eq requested_accounts.first.id | ||||
|         expect(result.accounts).to be_empty | ||||
|       end | ||||
|     end | ||||
|  | ||||
|     context 'when familiar follower hides follows' do | ||||
|       before do | ||||
|         familiar_follower.update(hide_collections: true) | ||||
|       end | ||||
|  | ||||
|       it 'does not return followers you follow' do | ||||
|         result = subject.accounts.first | ||||
|  | ||||
|         expect(result).to_not be_nil | ||||
|         expect(result.id).to eq requested_accounts.first.id | ||||
|         expect(result.accounts).to be_empty | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
		Reference in New Issue
	
	Block a user