acts_as_followable_test.rb
1023 Bytes
require File.dirname(__FILE__) + '/test_helper'
class ActsAsFollowableTest < Test::Unit::TestCase
fixtures :users, :follows
def test_instance_methods_should_be_defined
assert users(:sam).respond_to?(:followers_count)
assert users(:sam).respond_to?(:followers)
assert users(:sam).respond_to?(:followed_by?)
end
def test_followers_should_return_number_of_followers
assert_equal 0, users(:sam).followers_count
assert_equal 1, users(:jon).followers_count
end
def test_followers_should_return_users
assert_equal [], users(:sam).followers
assert_equal [users(:sam)], users(:jon).followers
end
def test_followed_by_should_return_follower_status
assert_equal true, users(:jon).followed_by?(users(:sam))
assert_equal false, users(:sam).followed_by?(users(:jon))
end
def test_destroyed_followable_should_destroy_related_follows_records
assert_difference "Follow.count && users(:sam).all_following.size", -1 do
users(:jon).destroy
end
end
end