summaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
authorankonym <ankonym@gmail.com>2015-08-31 17:15:27 +0200
committerankonym <ankonym@gmail.com>2015-09-28 15:12:45 +0200
commita8f07fb18518fd95fd701e8c0e550a3cd70520b0 (patch)
tree7a2ca500e5626234c4eff3f606b77bd57519c3ce /test/unit
parent45c3fadd930a474951bd918a50e1ea2b00af75c7 (diff)
Fixes for the invite code validator
Validation should only happen for new records User invite code was nil for invalid invite codes Adding missing tests
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/invite_code_test.rb67
1 files changed, 51 insertions, 16 deletions
diff --git a/test/unit/invite_code_test.rb b/test/unit/invite_code_test.rb
index b6044f4..2c9e33f 100644
--- a/test/unit/invite_code_test.rb
+++ b/test/unit/invite_code_test.rb
@@ -20,29 +20,64 @@ class InviteCodeTest < ActiveSupport::TestCase
assert_equal code1.invite_count, 0
end
- # TODO: does the count go up when code gets entered?
- test "Invite code count goes up by 1 when the invite code is entered" do
+ test "Invite code count goes up by 1 when the invite code is entered" do
+ #TODO but onlz if there are no other errors on the form
- validator = InviteCodeValidator.new nil
+ validator = InviteCodeValidator.new nil
- user = FactoryGirl.build :user
- user_code = InviteCode.new
- user_code.save
- user.invite_code = user_code.invite_code
+ user = FactoryGirl.build :user
+ user_code = InviteCode.new
+ user_code.save
+ user.invite_code = user_code.invite_code
+ validator.validate(user)
- validator.validate(user)
+ user_code.reload
+ assert_equal 1, user_code.invite_count
- user_code.reload
- assert_equal 1, user_code.invite_count
+ end
+
+ 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 0 is accepted for new account signup" do
+ validator = InviteCodeValidator.new nil
+
+ user_code = InviteCode.create
- end
-#
-#
-# # TODO: count >0 is not accepted for signup
- # test "Invite count >0 is not accepted for new account signup" do
+ user = FactoryGirl.build :user
+ user.invite_code = user_code.invite_code
+
+ validator.validate(user)
+
+ assert_equal [], user.errors[:invite_code]
+ end
+
+ test "There is an error message if the invite code does not exist" do
+ validator = InviteCodeValidator.new nil
+
+ user = FactoryGirl.build :user
+ user.invite_code = "wrongcode"
+
+ validator.validate(user)
+
+ assert_equal ["This is not a valid code"], user.errors[:invite_code]
+
+ end
- # end
end