diff --git a/app/models/visitor.rb b/app/models/visitor.rb index 1036f4a..2257437 100644 --- a/app/models/visitor.rb +++ b/app/models/visitor.rb @@ -43,7 +43,7 @@ class Visitor < ActiveRecord::Base prompt = options.delete(:prompt) if options[:appearance_lookup] - @appearance = prompt.appearances.find_by_lookup(options.delete(:apperance_lookup)) + @appearance = prompt.appearances.find_by_lookup(options.delete(:appearance_lookup)) return nil unless @appearance options.merge!(:appearance_id => @appearance.id) end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 535cb17..ccdb50c 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -91,6 +91,8 @@ describe User do required_skip_params = {:prompt => @prompt } params = optional_skip_params.merge(required_skip_params) s = @aoi_clone.record_skip(params) + s.appearance.should == @appearance + s.skipper.should == @visitor end end diff --git a/spec/models/visitor_spec.rb b/spec/models/visitor_spec.rb index e05d7de..84281a0 100644 --- a/spec/models/visitor_spec.rb +++ b/spec/models/visitor_spec.rb @@ -102,6 +102,21 @@ describe Visitor do } allparams = @required_skip_params.merge(@optional_skip_params) s = @visitor.skip!(allparams) + s.appearance.should == @appearance + end + + it "should not create a skip when the appearance look up is wrong" do + skip_count = Skip.count + @appearance = @aoi_clone.record_appearance(@visitor, @prompt) + @optional_skip_params = { + :appearance_lookup => "not a valid appearancelookup", + :time_viewed => 304, + :skip_reason => "some reason" + } + allparams = @required_skip_params.merge(@optional_skip_params) + s = @visitor.skip!(allparams) + s.should be_nil + Skip.count.should == skip_count end it "should accurately update score counts after vote" do -- libgit2 0.21.2