Files
growstuff/spec/support/is_likeable.rb
Daniel O'Connor f1acb35520 Merge pull request #4537 from Growstuff/FactoryBot/SyntaxMethods
Rubocop: FactoryBot/SyntaxMethods
2026-04-23 22:29:24 +09:30

27 lines
781 B
Ruby

# frozen_string_literal: true
shared_examples "it is likeable" do
before do
# Possibly a horrible hack.
# Will fail if factory name does not match the model name..
@likeable = create(described_class.to_s.underscore.to_sym)
@member1 = create(:member)
@member2 = create(:member)
@like1 = create(:like, member: @member1, likeable: @likeable)
@like2 = create(:like, member: @member2, likeable: @likeable)
end
it "has many likes" do
expect(@likeable.likes.length).to eq 2
end
it 'has many members that likes it' do
expect(@likeable.members.length).to eq 2
end
it 'destroys the like when it is destroyed' do
like_count = -1 * @likeable.likes.count
expect { @likeable.destroy }.to change(Like, :count).by like_count
end
end