diff options
author | ankonym <ankonym@gmail.com> | 2015-08-31 17:15:27 +0200 |
---|---|---|
committer | ankonym <ankonym@gmail.com> | 2015-09-28 15:12:45 +0200 |
commit | a8f07fb18518fd95fd701e8c0e550a3cd70520b0 (patch) | |
tree | 7a2ca500e5626234c4eff3f606b77bd57519c3ce /test/unit | |
parent | 45c3fadd930a474951bd918a50e1ea2b00af75c7 (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.rb | 67 |
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 |