From 4b52d97a64cc3d8ff8acf34bea153d367eeef041 Mon Sep 17 00:00:00 2001 From: Steven Miers Date: Mon, 20 Jul 2015 11:35:16 -0500 Subject: [PATCH] VRFS-3316 : Review summary uniqueness validation and spec. --- ruby/lib/jam_ruby/models/review_summary.rb | 4 ++-- ruby/spec/jam_ruby/models/review_spec.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ruby/lib/jam_ruby/models/review_summary.rb b/ruby/lib/jam_ruby/models/review_summary.rb index 77e25d0e7..6e0ef6b11 100644 --- a/ruby/lib/jam_ruby/models/review_summary.rb +++ b/ruby/lib/jam_ruby/models/review_summary.rb @@ -2,11 +2,11 @@ module JamRuby class ReviewSummary < ActiveRecord::Base attr_accessible :target, :target_type, :avg_rating, :wilson_score, :review_count belongs_to :target, polymorphic: true - belongs_to :user, foreign_key: 'user_id', class_name: "JamRuby::User" - + validates :avg_rating, presence:true, numericality: true validates :review_count, presence:true, numericality: {only_integer: true} validates :wilson_score, presence:true, numericality: {greater_than:0, less_than:1} validates :target, presence:true + validates :target_id, uniqueness:true end end \ No newline at end of file diff --git a/ruby/spec/jam_ruby/models/review_spec.rb b/ruby/spec/jam_ruby/models/review_spec.rb index 622b688aa..e9fe640f9 100644 --- a/ruby/spec/jam_ruby/models/review_spec.rb +++ b/ruby/spec/jam_ruby/models/review_spec.rb @@ -83,6 +83,14 @@ describe Review do puts "complete:: #{review_summary.errors.inspect}" review_summary.valid?.should be_true end + + it "unique" do + review = ReviewSummary.create(target:target, avg_rating:3, wilson_score:0.82, review_count:14) + review.valid?.should be_true + + review2 = ReviewSummary.create(target:target, avg_rating:3.22, wilson_score:0.91, review_count:12) + review2.valid?.should be_false + end end end