39 lines
971 B
Ruby
39 lines
971 B
Ruby
require "test_helper"
|
|
|
|
class Account::JoinCodeTest < ActiveSupport::TestCase
|
|
test "generate code" do
|
|
join_code = Account::JoinCode.create!(account: Current.account)
|
|
|
|
assert join_code.code.present?
|
|
|
|
parts = join_code.code.split("-")
|
|
assert_equal 3, parts.count
|
|
end
|
|
|
|
test "redeem_if increments usage_count when block returns true" do
|
|
join_code = account_join_codes(:"37s")
|
|
|
|
assert_difference -> { join_code.reload.usage_count }, +1 do
|
|
join_code.redeem_if { true }
|
|
end
|
|
end
|
|
|
|
test "redeem_if does not increment usage_count when block returns false" do
|
|
join_code = account_join_codes(:"37s")
|
|
|
|
assert_no_difference -> { join_code.reload.usage_count } do
|
|
join_code.redeem_if { false }
|
|
end
|
|
end
|
|
|
|
test "reset" do
|
|
join_code = account_join_codes(:"37s")
|
|
original_code = join_code.code
|
|
|
|
join_code.reset
|
|
|
|
assert_not_equal original_code, join_code.code
|
|
assert_equal 0, join_code.usage_count
|
|
end
|
|
end
|