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