DRY up reblog vs original status check
Checking reblog vs original status was happening in multiple places across the app. For views, this logic was encapsulated in a helper method named `proper_status` but in the other layers of the app, the logic was duplicated. Because the logic is used at all layers of the app, we extracted it into a `Status#proper` method on the model and changed all uses of the logic to use this method. There is now a single source of truth for this condition. We added test coverage to untested methods that got refactored.
This commit is contained in:
parent
4e41cd9ab8
commit
d4c94fa004
7 changed files with 86 additions and 11 deletions
|
@ -97,4 +97,15 @@ RSpec.describe Status, type: :model do
|
|||
describe '#favourites_count' do
|
||||
pending
|
||||
end
|
||||
|
||||
describe '#proper' do
|
||||
it 'is itself for original statuses' do
|
||||
expect(subject.proper).to eq subject
|
||||
end
|
||||
|
||||
it 'is the source status for reblogs' do
|
||||
subject.reblog = other
|
||||
expect(subject.proper).to eq other
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue