about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--spec/models/status_spec.rb27
1 files changed, 25 insertions, 2 deletions
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index d58ff5019..4b5c20871 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -83,8 +83,31 @@ RSpec.describe Status, type: :model do
   end
 
   describe '#title' do
-    it 'is a shorter version of the content' do
-      expect(subject.title).to be_a String
+    # 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