diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-08-18 03:03:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-18 03:03:23 +0200 |
commit | d010816ba876bf4f749749e9d7432a843e8a1ff9 (patch) | |
tree | 08e9b4c45c1de2bad5455164cd008b1597db4665 /spec | |
parent | 78fa926ed560e6a9738144bec7e152fa42104139 (diff) |
Fix error when trying to update counters for statuses that are gone (#8251)
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/status_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index b3e475d99..d03005107 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 |