diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/info_request_event_spec.rb | 31 | ||||
-rw-r--r-- | spec/models/track_mailer_spec.rb | 8 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 33 |
3 files changed, 57 insertions, 15 deletions
diff --git a/spec/models/info_request_event_spec.rb b/spec/models/info_request_event_spec.rb index be3ec77c2..428887c8b 100644 --- a/spec/models/info_request_event_spec.rb +++ b/spec/models/info_request_event_spec.rb @@ -1,14 +1,29 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe InfoRequestEvent, " when " do - - it "should convert event parameters into YAML and back successfully" do - ire = InfoRequestEvent.new - example_params = { :foo => 'this is stuff', :bar => 83, :humbug => "yikes!!!" } - ire.params = example_params - ire.params_yaml.should == example_params.to_yaml - ire.params.should == example_params +describe InfoRequestEvent do + + describe "when storing serialized parameters" do + + it "should convert event parameters into YAML and back successfully" do + ire = InfoRequestEvent.new + example_params = { :foo => 'this is stuff', :bar => 83, :humbug => "yikes!!!" } + ire.params = example_params + ire.params_yaml.should == example_params.to_yaml + ire.params.should == example_params + end + end + describe 'when saving' do + + it 'should mark the model for reindexing in xapian if there is no no_xapian_reindex flag on the object' do + event = InfoRequestEvent.new(:info_request => mock_model(InfoRequest), + :event_type => 'sent', + :params => {}) + event.should_receive(:xapian_mark_needs_index) + event.save! + end + + end end diff --git a/spec/models/track_mailer_spec.rb b/spec/models/track_mailer_spec.rb index a2016f3d1..c4b3e4723 100644 --- a/spec/models/track_mailer_spec.rb +++ b/spec/models/track_mailer_spec.rb @@ -18,11 +18,11 @@ describe TrackMailer do describe 'for each user' do before do - @user = mock_model(User, :no_reindex= => false, + @user = mock_model(User, :no_xapian_reindex= => false, :last_daily_track_email= => true, :save! => true) User.stub!(:find).and_return([@user]) - @user.stub!(:no_reindex=) + @user.stub!(:no_xapian_reindex=) end it 'should ask for any daily track things for the user' do @@ -32,8 +32,8 @@ describe TrackMailer do end - it 'should set the no_reindex flag on the user' do - @user.should_receive(:no_reindex=).with(true) + it 'should set the no_xapian_reindex flag on the user' do + @user.should_receive(:no_xapian_reindex=).with(true) TrackMailer.alert_tracks end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 5f29ebeb6..bf90ffdfb 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -84,10 +84,37 @@ describe User, " when saving" do @user2.email = "flobble2@localhost" @user2.save! end - + + it 'should mark the model for reindexing in xapian if the no_xapian_reindex flag is set to false' do + @user.name = "Mr. First" + @user.password = "insecurepassword" + @user.email = "reasonable@localhost" + @user.no_xapian_reindex = false + @user.should_receive(:xapian_mark_needs_index) + @user.save! + end + + it 'should mark the model for reindexing in xapian if the no_xapian_reindex flag is not set' do + @user.name = "Mr. Second" + @user.password = "insecurepassword" + @user.email = "reasonable@localhost" + @user.no_xapian_reindex = nil + @user.should_receive(:xapian_mark_needs_index) + @user.save! + end + + it 'should not mark the model for reindexing in xapian if the no_xapian_reindex flag is set' do + @user.name = "Mr. Third" + @user.password = "insecurepassword" + @user.email = "reasonable@localhost" + @user.no_xapian_reindex = true + @user.should_not_receive(:xapian_mark_needs_index) + @user.save! + end end + describe User, "when reindexing referencing models" do before do @@ -108,10 +135,10 @@ describe User, "when reindexing referencing models" do @user.reindex_referencing_models end - describe 'when no_reindex is set' do + describe 'when no_xapian_reindex is set' do before do - @user.no_reindex = true + @user.no_xapian_reindex = true end it 'should not reindex events associated with that user\'s comments' do |