require 'rails_helper' RSpec.describe Recipe, type: :model do describe '#update_rating!' do it 'should set rating to nil with no ratings' do r = create(:recipe) r.update_rating! expect(r.rating).to be_nil create(:log, rating: nil, source_recipe: r) r.update_rating! expect(r.rating).to be_nil end it 'should set rating based on user logs' do user = create(:user) other_user = create(:user) r = create(:recipe, user: user) create(:log, rating: 2, source_recipe: r, user: user) create(:log, rating: 4, source_recipe: r, user: user) create(:log, rating: 5, source_recipe: r, user: other_user) r.update_rating! expect(r.rating).to eq 3 end end end