diff options
author | Thibaut Girka <thib@sitedethib.com> | 2020-05-10 15:15:39 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2020-05-10 16:19:56 +0200 |
commit | 4a70792b4a8393a0cfd83a7e70f72179899111fa (patch) | |
tree | d340885b5dfb0f990c81b1a29f529a258c49d591 /spec/models/status_spec.rb | |
parent | c6ff4c634caf718adf7280e04909c091d15add1d (diff) | |
parent | 4b766f984689311523b89e1b68d2a11dff3fc396 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - `Gemfile.lock`: Not a real conflict, just a glitch-soc-only dependency too close to a dependency that got updated upstream. Updated as well. - `app/models/status.rb`: Not a real conflict, just a change too close to glitch-soc-changed code for optionally showing boosts in public timelines. Applied upstream changes. - `app/views/layouts/application.html.haml`: Upstream a new, static CSS file, conflict due to glitch-soc's theming system, include the file regardless of the theme. - `config/initializers/content_security_policy.rb`: Upstream dropped 'unsafe-inline' from the 'style-src' directive, but both files are very different. Removed 'unsafe-inline' as well.
Diffstat (limited to 'spec/models/status_spec.rb')
-rw-r--r-- | spec/models/status_spec.rb | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index 02f533287..041021d34 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -82,35 +82,6 @@ RSpec.describe Status, type: :model do end end - describe '#title' do - # rubocop:disable Style/InterpolationCheck - - let(:account) { subject.account } - - context 'if destroyed?' do - it 'returns "#{account.acct} deleted status"' do - subject.destroy! - expect(subject.title).to eq "#{account.acct} deleted status" - end - end - - context 'unless destroyed?' do - context 'if reblog?' do - it 'returns "#{account.acct} shared a status by #{reblog.account.acct}"' do - reblog = subject.reblog = other - expect(subject.title).to eq "#{account.acct} shared a status by #{reblog.account.acct}" - end - end - - context 'unless reblog?' do - it 'returns "New status by #{account.acct}"' do - subject.reblog = nil - expect(subject.title).to eq "New status by #{account.acct}" - end - end - end - end - describe '#hidden?' do context 'if private_visibility?' do it 'returns true' do @@ -490,6 +461,33 @@ RSpec.describe Status, type: :model do end end + context 'with a remote_only option set' do + let!(:local_account) { Fabricate(:account, domain: nil) } + let!(:remote_account) { Fabricate(:account, domain: 'test.com') } + let!(:local_status) { Fabricate(:status, account: local_account) } + let!(:remote_status) { Fabricate(:status, account: remote_account) } + + subject { Status.as_public_timeline(viewer, :remote) } + + context 'without a viewer' do + let(:viewer) { nil } + + it 'does not include local instances statuses' do + expect(subject).not_to include(local_status) + expect(subject).to include(remote_status) + end + end + + context 'with a viewer' do + let(:viewer) { Fabricate(:account, username: 'viewer') } + + it 'does not include local instances statuses' do + expect(subject).not_to include(local_status) + expect(subject).to include(remote_status) + end + end + end + describe 'with an account passed in' do before do @account = Fabricate(:account) |