From 45c3fadd930a474951bd918a50e1ea2b00af75c7 Mon Sep 17 00:00:00 2001 From: ankonym Date: Tue, 25 Aug 2015 14:11:00 +0200 Subject: Make sure codes can only be used once, fix validations We introduced a count on invite codes to make sure that (at the moment) codes can only be used once. (The code will also allow multi-use codes in the future.) Also, some of our validations weren't validating against the correct data, which is now fixed. --- test/unit/invite_code_test.rb | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'test/unit/invite_code_test.rb') diff --git a/test/unit/invite_code_test.rb b/test/unit/invite_code_test.rb index 2684f8e..b6044f4 100644 --- a/test/unit/invite_code_test.rb +++ b/test/unit/invite_code_test.rb @@ -10,12 +10,39 @@ class InviteCodeTest < ActiveSupport::TestCase test "the invite code can be read from couch db correctly" do code1 = InviteCode.new code1.save - code2 = InviteCode.find_by__id code1.id - assert_equal code1.invite_code, code2.invite_code + end + test "the invite code count gets set to 0 upon creation" do + code1 = InviteCode.new + code1.save + 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 + + validator = InviteCodeValidator.new nil + + user = FactoryGirl.build :user + user_code = InviteCode.new + user_code.save + user.invite_code = user_code.invite_code + + + validator.validate(user) + + user_code.reload + assert_equal 1, user_code.invite_count + + end +# +# +# # TODO: count >0 is not accepted for signup + # test "Invite count >0 is not accepted for new account signup" do + + # end + +end -end \ No newline at end of file -- cgit v1.2.3