2016-01-12 18:43:00 -06:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe Recipe, type: :model do
|
2016-09-28 17:08:43 -05:00
|
|
|
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
|
2016-01-12 18:43:00 -06:00
|
|
|
end
|