test/rails_root/test/unit/activity_test.rb in muck-activities-0.1.19 vs test/rails_root/test/unit/activity_test.rb in muck-activities-0.1.20

- old
+ new

@@ -9,24 +9,33 @@ should_belong_to :item should_belong_to :source should_have_many :activity_feeds should_have_many :comments + should_have_named_scope :since + should_have_named_scope :before should_have_named_scope :newest + should_have_named_scope :oldest + should_have_named_scope :latest should_have_named_scope :only_public + should_have_named_scope :filter_by_template + #should_have_named_scope :created_by Throws an exception. Test below should_have_named_scope :status_updates - + should_have_named_scope :by_item end context "named scopes" do setup do + @user = Factory(:user) @old_activity = Factory(:activity, :created_at => 6.weeks.ago) @new_activity = Factory(:activity) @status_activity = Factory(:activity, :template => 'status') @other_activity = Factory(:activity, :template => 'other') @private_activity = Factory(:activity, :is_public => false) @public_activity = Factory(:activity, :is_public => true) + @item_activity = Factory(:activity, :item => @user) + @source_activity = Factory(:activity, :source => @user) end context "before" do should "only find old activity" do activities = Activity.before(1.week.ago) assert activities.include?(@old_activity), "since didn't find older activity" @@ -50,9 +59,23 @@ context "public" do should "only find public activities" do activities = Activity.only_public assert activities.include?(@public_activity), "only_public didn't find public activity" assert !activities.include?(@private_activity), "only_public found private activity" + end + end + context "by_item" do + should "find activities by the item they are associated with" do + activities = Activity.by_item(@user) + assert activities.include?(@item_activity), "by_item didn't find item activity" + assert !activities.include?(@public_activity), "by_item found public activity" + end + end + context "created_by" do + should "find activities by the source they are associated with" do + activities = Activity.created_by(@user) + assert activities.include?(@source_activity), "created_by didn't find source activity" + assert !activities.include?(@public_activity), "created_by found public activity" end end end should "require template or item" do \ No newline at end of file