about summary refs log tree commit diff
path: root/spec/models
diff options
context:
space:
mode:
authorTakeshi Umeda <noel.yoshiba@gmail.com>2020-05-10 17:36:18 +0900
committerGitHub <noreply@github.com>2020-05-10 10:36:18 +0200
commit26b08a3c54847f2816f78c3ac67ace001d3fea1f (patch)
tree9512f3ec81de5bd70b4b544475c84aecf1a58110 /spec/models
parente9ecbca70d28c775a9eeda7670e06443a1037d5b (diff)
Add remote only to public timeline (#13504)
* Add remote only to public timeline

* Fix code style
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/status_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index 9c1eca1b5..4aee14cbd 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -374,6 +374,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)