parsley/spec/models/recipe_spec.rb

32 lines
756 B
Ruby

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