43 lines
1.1 KiB
Ruby
43 lines
1.1 KiB
Ruby
require 'test_helper'
|
|
|
|
class SuperVoterTest < ActiveSupport::TestCase
|
|
def setup
|
|
super
|
|
@user = FactoryGirl.create(:user)
|
|
end
|
|
|
|
context "#init" do
|
|
setup do
|
|
@admin = FactoryGirl.create(:admin_user)
|
|
@user_mock = mock("user")
|
|
@user_mock.expects(:user_id).twice.returns(@user.id)
|
|
@admin_mock = mock("admin")
|
|
@admin_mock.expects(:user_id).twice.returns(@admin.id)
|
|
PostVoteSimilarity.any_instance.stubs(:calculate_positive).returns([@admin_mock, @user_mock])
|
|
end
|
|
|
|
should "create super voter objects" do
|
|
assert_difference("SuperVoter.count", 2) do
|
|
SuperVoter.init!
|
|
end
|
|
end
|
|
end
|
|
|
|
context "creation" do
|
|
should "update the is_super_voter field on the user object" do
|
|
FactoryGirl.create(:super_voter, user: @user)
|
|
@user.reload
|
|
assert_equal(true, @user.is_super_voter?)
|
|
end
|
|
end
|
|
|
|
context "destruction" do
|
|
should "update the is_super_voter field on the user object" do
|
|
voter = FactoryGirl.create(:super_voter, user: @user)
|
|
voter.destroy
|
|
@user.reload
|
|
assert_equal(false, @user.is_super_voter?)
|
|
end
|
|
end
|
|
end
|