Commit 371cfdf9aad27f7492c4f242e65be6d5e63c3c42

Authored by Dhruv Kapadia
1 parent 9c8210cc

Fixing bug where appearances were not recorded on skip

app/models/visitor.rb
... ... @@ -43,7 +43,7 @@ class Visitor < ActiveRecord::Base
43 43 prompt = options.delete(:prompt)
44 44  
45 45 if options[:appearance_lookup]
46   - @appearance = prompt.appearances.find_by_lookup(options.delete(:apperance_lookup))
  46 + @appearance = prompt.appearances.find_by_lookup(options.delete(:appearance_lookup))
47 47 return nil unless @appearance
48 48 options.merge!(:appearance_id => @appearance.id)
49 49 end
... ...
spec/models/user_spec.rb
... ... @@ -91,6 +91,8 @@ describe User do
91 91 required_skip_params = {:prompt => @prompt }
92 92 params = optional_skip_params.merge(required_skip_params)
93 93 s = @aoi_clone.record_skip(params)
  94 + s.appearance.should == @appearance
  95 + s.skipper.should == @visitor
94 96 end
95 97  
96 98 end
... ...
spec/models/visitor_spec.rb
... ... @@ -102,6 +102,21 @@ describe Visitor do
102 102 }
103 103 allparams = @required_skip_params.merge(@optional_skip_params)
104 104 s = @visitor.skip!(allparams)
  105 + s.appearance.should == @appearance
  106 + end
  107 +
  108 + it "should not create a skip when the appearance look up is wrong" do
  109 + skip_count = Skip.count
  110 + @appearance = @aoi_clone.record_appearance(@visitor, @prompt)
  111 + @optional_skip_params = {
  112 + :appearance_lookup => "not a valid appearancelookup",
  113 + :time_viewed => 304,
  114 + :skip_reason => "some reason"
  115 + }
  116 + allparams = @required_skip_params.merge(@optional_skip_params)
  117 + s = @visitor.skip!(allparams)
  118 + s.should be_nil
  119 + Skip.count.should == skip_count
105 120 end
106 121  
107 122 it "should accurately update score counts after vote" do
... ...