aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/models/info_request_event_spec.rb31
-rw-r--r--spec/models/track_mailer_spec.rb8
-rw-r--r--spec/models/user_spec.rb33
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