From 82a33300818dd8f6e06856944fe7c658746efca1 Mon Sep 17 00:00:00 2001 From: ankonym Date: Fri, 2 Oct 2015 16:51:57 +0200 Subject: Allow multi-use invite codes Introduce a invite_max_uses property to invite codes to allow admins to set a maximum number of uses for invite codes. --- test/unit/invite_code_test.rb | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/unit/invite_code_test.rb b/test/unit/invite_code_test.rb index b17d1bc..7e14a03 100644 --- a/test/unit/invite_code_test.rb +++ b/test/unit/invite_code_test.rb @@ -21,11 +21,28 @@ class InviteCodeTest < ActiveSupport::TestCase end - test "Invite count >0 is not accepted for new account signup" do + # test "Invite count >0 is not accepted for new account signup" do + # validator = InviteCodeValidator.new nil + # + # user_code = InviteCode.new + # user_code.invite_count = 1 + # user_code.save + # + # user = FactoryGirl.build :user + # user.invite_code = user_code.invite_code + # + # validator.validate(user) + # + # assert_equal ["This code has already been used"], user.errors[:invite_code] + # + # end + + test "Invite count >= invite max uses is not accepted for new account signup" do validator = InviteCodeValidator.new nil user_code = InviteCode.new user_code.invite_count = 1 + user_code.invite_max_uses = 1 user_code.save user = FactoryGirl.build :user @@ -37,6 +54,22 @@ class InviteCodeTest < ActiveSupport::TestCase end + test "Invite count < invite max uses is accepted for new account signup" do + validator = InviteCodeValidator.new nil + + user_code = InviteCode.create + user_code.invite_count = 0 + user_code.invite_max_uses = 1 + user_code.save + + user = FactoryGirl.build :user + user.invite_code = user_code.invite_code + + validator.validate(user) + + assert_equal [], user.errors[:invite_code] + end + test "Invite count 0 is accepted for new account signup" do validator = InviteCodeValidator.new nil @@ -62,6 +95,5 @@ class InviteCodeTest < ActiveSupport::TestCase end - end -- cgit v1.2.3