Files
2025-12-03 13:29:20 +01:00

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