diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-03-08 22:40:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 22:40:21 +0100 |
commit | 02133866e6915e37431298b396e1aded1e4c44c5 (patch) | |
tree | 4ec43c5d1269ef7d5a3816a4d000bb7129bf81bd /spec/presenters | |
parent | f03148f441d8dfc1856451c4faa00b5e26b6e199 (diff) | |
parent | 481f7c8c3850a5d38e92222ab14e5229c49c2812 (diff) |
Merge pull request #1713 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/presenters')
-rw-r--r-- | spec/presenters/familiar_followers_presenter_spec.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/spec/presenters/familiar_followers_presenter_spec.rb b/spec/presenters/familiar_followers_presenter_spec.rb new file mode 100644 index 000000000..17be4b971 --- /dev/null +++ b/spec/presenters/familiar_followers_presenter_spec.rb @@ -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 |