about summary refs log tree commit diff
path: root/spec/models/status_spec.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-08-18 18:04:49 +0200
committerThibaut Girka <thib@sitedethib.com>2018-08-18 18:04:49 +0200
commitbfeac6747a58b660f0d1b3766c7cfb3ea2655fce (patch)
treee9d1366c30b94df21ec767276fbde175428399fb /spec/models/status_spec.rb
parent7423c0c1308555db3072ae64141250fdd33ce235 (diff)
parent298ee84488758fc08a0ae9233e04c9637aa2fe02 (diff)
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
	.circleci/config.yml
	app/controllers/authorize_follows_controller.rb
	app/javascript/packs/public.js

Moved new stuff from packs/public.js to core/public.js.
Added appropriate use_pack in new controllers.
Diffstat (limited to 'spec/models/status_spec.rb')
-rw-r--r--spec/models/status_spec.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index 0e2bb0675..3467342ee 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -182,6 +182,27 @@ RSpec.describe Status, type: :model do
       reblog.destroy
       expect(subject.reblogs_count).to eq 0
     end
+
+    it 'does not fail when original is deleted before reblog' do
+      reblog = Fabricate(:status, account: bob, reblog: subject)
+      expect(subject.reblogs_count).to eq 1
+      expect { subject.destroy }.to_not raise_error
+      expect(Status.find_by(id: reblog.id)).to be_nil
+    end
+  end
+
+  describe '#replies_count' do
+    it 'is the number of replies' do
+      reply = Fabricate(:status, account: bob, thread: subject)
+      expect(subject.replies_count).to eq 1
+    end
+
+    it 'is decremented when reply is removed' do
+      reply = Fabricate(:status, account: bob, thread: subject)
+      expect(subject.replies_count).to eq 1
+      reply.destroy
+      expect(subject.replies_count).to eq 0
+    end
   end
 
   describe '#favourites_count' do