summaryrefslogtreecommitdiff
path: root/test/unit/account_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/account_test.rb')
-rw-r--r--test/unit/account_test.rb44
1 files changed, 40 insertions, 4 deletions
diff --git a/test/unit/account_test.rb b/test/unit/account_test.rb
index b2bfe27..6b814b6 100644
--- a/test/unit/account_test.rb
+++ b/test/unit/account_test.rb
@@ -2,12 +2,17 @@ require 'test_helper'
class AccountTest < ActiveSupport::TestCase
+ setup do
+ @testcode = InviteCode.new
+ @testcode.save!
+ end
+
teardown do
Identity.destroy_all_disabled
end
- test "create a new account" do
- user = Account.create(FactoryGirl.attributes_for(:user))
+ test "create a new account when invited" do
+ user = Account.create(FactoryGirl.attributes_for(:user, :invite_code => @testcode.invite_code))
assert user.valid?, "unexpected errors: #{user.errors.inspect}"
assert user.persisted?
assert id = user.identity
@@ -16,18 +21,28 @@ class AccountTest < ActiveSupport::TestCase
user.account.destroy
end
+ test "create a new account" do
+ with_config invite_required: false do
+ user = Account.create(FactoryGirl.attributes_for(:user))
+ assert user.valid?, "unexpected errors: #{user.errors.inspect}"
+ assert user.persisted?
+ user.account.destroy
+ end
+ end
+
+
test "create and remove a user account" do
# We keep an identity that will block the handle from being reused.
assert_difference "Identity.count" do
assert_no_difference "User.count" do
- user = Account.create(FactoryGirl.attributes_for(:user))
+ user = Account.create(FactoryGirl.attributes_for(:user, :invite_code => @testcode.invite_code))
user.account.destroy
end
end
end
test "change username and create alias" do
- user = Account.create(FactoryGirl.attributes_for(:user))
+ user = Account.create(FactoryGirl.attributes_for(:user, :invite_code => @testcode.invite_code))
old_id = user.identity
old_email = user.email_address
user.account.update(FactoryGirl.attributes_for(:user))
@@ -44,4 +59,25 @@ class AccountTest < ActiveSupport::TestCase
user.account.destroy
end
+ test "Invite code count goes up by 1 when the invite code is entered" do
+ with_config invite_required: true do
+ user = Account.create(FactoryGirl.attributes_for(:user, :invite_code => @testcode.invite_code))
+ user_code = InviteCode.find_by_invite_code user.invite_code
+ user_code.save
+ user.save
+ assert user.persisted?
+ assert_equal 1, user_code.invite_count
+ end
+
+ end
+
+ test "Invite code stays zero when invite code is not used" do
+ #user = Account.create(FactoryGirl.attributes_for(:user, :invite_code => @testcode.invite_code))
+ invalid_user = FactoryGirl.build(:user, :invite_code => @testcode.invite_code)
+ invalid_user.save
+ user_code = InviteCode.find_by_invite_code invalid_user.invite_code
+ user_code.save
+
+ assert_equal 0, user_code.invite_count
+ end
end