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