about summary refs log tree commit diff
path: root/spec/models/concerns
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/concerns')
-rw-r--r--spec/models/concerns/account_interactions_spec.rb62
-rw-r--r--spec/models/concerns/status_threading_concern_spec.rb12
2 files changed, 32 insertions, 42 deletions
diff --git a/spec/models/concerns/account_interactions_spec.rb b/spec/models/concerns/account_interactions_spec.rb
index 95bf9561d..9c9b87daf 100644
--- a/spec/models/concerns/account_interactions_spec.rb
+++ b/spec/models/concerns/account_interactions_spec.rb
@@ -115,13 +115,15 @@ describe AccountInteractions do
   end
 
   describe '#mute!' do
+    subject { account.mute!(target_account, notifications: arg_notifications) }
+
     context 'Mute does not exist yet' do
       context 'arg :notifications is nil' do
         let(:arg_notifications) { nil }
 
-        it 'creates Mute, and returns nil' do
+        it 'creates Mute, and returns Mute' do
           expect do
-            expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
+            expect(subject).to be_kind_of Mute
           end.to change { account.mute_relationships.count }.by 1
         end
       end
@@ -129,9 +131,9 @@ describe AccountInteractions do
       context 'arg :notifications is false' do
         let(:arg_notifications) { false }
 
-        it 'creates Mute, and returns nil' do
+        it 'creates Mute, and returns Mute' do
           expect do
-            expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
+            expect(subject).to be_kind_of Mute
           end.to change { account.mute_relationships.count }.by 1
         end
       end
@@ -139,9 +141,9 @@ describe AccountInteractions do
       context 'arg :notifications is true' do
         let(:arg_notifications) { true }
 
-        it 'creates Mute, and returns nil' do
+        it 'creates Mute, and returns Mute' do
           expect do
-            expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
+            expect(subject).to be_kind_of Mute
           end.to change { account.mute_relationships.count }.by 1
         end
       end
@@ -165,36 +167,30 @@ describe AccountInteractions do
         context 'arg :notifications is nil' do
           let(:arg_notifications) { nil }
 
-          it 'returns nil without updating mute.hide_notifications' do
+          it 'returns Mute without updating mute.hide_notifications' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be true
-            end
+              expect(subject).to be_kind_of Mute
+            end.not_to change { mute.reload.hide_notifications? }.from(true)
           end
         end
 
         context 'arg :notifications is false' do
           let(:arg_notifications) { false }
 
-          it 'returns true, and updates mute.hide_notifications false' do
+          it 'returns Mute, and updates mute.hide_notifications false' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be true
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be false
-            end
+              expect(subject).to be_kind_of Mute
+            end.to change { mute.reload.hide_notifications? }.from(true).to(false)
           end
         end
 
         context 'arg :notifications is true' do
           let(:arg_notifications) { true }
 
-          it 'returns nil without updating mute.hide_notifications' do
+          it 'returns Mute without updating mute.hide_notifications' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be true
-            end
+              expect(subject).to be_kind_of Mute
+            end.not_to change { mute.reload.hide_notifications? }.from(true)
           end
         end
       end
@@ -205,36 +201,30 @@ describe AccountInteractions do
         context 'arg :notifications is nil' do
           let(:arg_notifications) { nil }
 
-          it 'returns true, and updates mute.hide_notifications true' do
+          it 'returns Mute, and updates mute.hide_notifications true' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be true
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be true
-            end
+              expect(subject).to be_kind_of Mute
+            end.to change { mute.reload.hide_notifications? }.from(false).to(true)
           end
         end
 
         context 'arg :notifications is false' do
           let(:arg_notifications) { false }
 
-          it 'returns nil without updating mute.hide_notifications' do
+          it 'returns Mute without updating mute.hide_notifications' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be nil
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be false
-            end
+              expect(subject).to be_kind_of Mute
+            end.not_to change { mute.reload.hide_notifications? }.from(false)
           end
         end
 
         context 'arg :notifications is true' do
           let(:arg_notifications) { true }
 
-          it 'returns true, and updates mute.hide_notifications true' do
+          it 'returns Mute, and updates mute.hide_notifications true' do
             expect do
-              expect(account.mute!(target_account, notifications: arg_notifications)).to be true
-              mute = account.mute_relationships.find_by(target_account: target_account)
-              expect(mute.hide_notifications?).to be true
-            end
+              expect(subject).to be_kind_of Mute
+            end.to change { mute.reload.hide_notifications? }.from(false).to(true)
           end
         end
       end
diff --git a/spec/models/concerns/status_threading_concern_spec.rb b/spec/models/concerns/status_threading_concern_spec.rb
index b8ebdd58c..e5736a307 100644
--- a/spec/models/concerns/status_threading_concern_spec.rb
+++ b/spec/models/concerns/status_threading_concern_spec.rb
@@ -89,34 +89,34 @@ describe StatusThreadingConcern do
     let!(:viewer) { Fabricate(:account, username: 'viewer') }
 
     it 'returns replies' do
-      expect(status.descendants).to include(reply1, reply2, reply3)
+      expect(status.descendants(4)).to include(reply1, reply2, reply3)
     end
 
     it 'does not return replies user is not allowed to see' do
       reply1.update(visibility: :private)
       reply3.update(visibility: :direct)
 
-      expect(status.descendants(viewer)).to_not include(reply1, reply3)
+      expect(status.descendants(4, viewer)).to_not include(reply1, reply3)
     end
 
     it 'does not return replies from blocked users' do
       viewer.block!(jeff)
-      expect(status.descendants(viewer)).to_not include(reply3)
+      expect(status.descendants(4, viewer)).to_not include(reply3)
     end
 
     it 'does not return replies from muted users' do
       viewer.mute!(jeff)
-      expect(status.descendants(viewer)).to_not include(reply3)
+      expect(status.descendants(4, viewer)).to_not include(reply3)
     end
 
     it 'does not return replies from silenced and not followed users' do
       jeff.update(silenced: true)
-      expect(status.descendants(viewer)).to_not include(reply3)
+      expect(status.descendants(4, viewer)).to_not include(reply3)
     end
 
     it 'does not return replies from blocked domains' do
       viewer.block_domain!('example.com')
-      expect(status.descendants(viewer)).to_not include(reply2)
+      expect(status.descendants(4, viewer)).to_not include(reply2)
     end
   end
 end