Wrote unit tests for controller.Users.signup_group_member().
This commit is contained in:
parent
7ee838d46e
commit
1ea667528e
|
@ -500,6 +500,8 @@ class Test_controller( object ):
|
|||
u"name": u"super",
|
||||
u"storage_quota_bytes": 1337 * 10,
|
||||
u"notebook_collaboration": False,
|
||||
u"user_admin": False,
|
||||
u"included_users": 1,
|
||||
u"fee": 1.99,
|
||||
u"yearly_fee": 19.90,
|
||||
u"button": u"[subscribe here user %s!] button",
|
||||
|
@ -509,6 +511,8 @@ class Test_controller( object ):
|
|||
u"name": "extra super",
|
||||
u"storage_quota_bytes": 31337 * 1000,
|
||||
u"notebook_collaboration": True,
|
||||
u"user_admin": True,
|
||||
u"included_users": 3,
|
||||
u"fee": 9.00,
|
||||
u"yearly_fee": 90.00,
|
||||
u"button": u"[or here user %s!] button",
|
||||
|
|
|
@ -82,7 +82,7 @@ class Test_users( Test_controller ):
|
|||
self.database.execute( self.user.sql_save_notebook( trash_id2, read_write = True, owner = True ), commit = False )
|
||||
self.database.execute( self.user.sql_save_group( self.group.object_id, admin = False ) )
|
||||
|
||||
self.user2 = User.create( self.database.next_id( User ), self.username2, self.password2, self.email_address2 )
|
||||
self.user2 = User.create( self.database.next_id( User ), self.username2, self.password2, self.email_address2, rate_plan = 1 )
|
||||
self.database.save( self.user2, commit = False )
|
||||
self.database.execute( self.user2.sql_save_group( self.group.object_id, admin = True ) )
|
||||
|
||||
|
@ -358,6 +358,197 @@ class Test_users( Test_controller ):
|
|||
|
||||
assert result[ u"error" ]
|
||||
|
||||
def test_signup_group_member( self ):
|
||||
self.login2()
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"created" in result[ u"message" ]
|
||||
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user
|
||||
assert user.username == self.new_username
|
||||
assert user.email_address == self.new_email_address
|
||||
assert user.storage_bytes == 0
|
||||
assert user.group_storage_bytes == 0
|
||||
assert user.rate_plan == 1
|
||||
|
||||
membership = cherrypy.root.users.check_group( user.object_id, self.group.object_id )
|
||||
assert membership is True
|
||||
|
||||
def test_signup_group_member_without_access( self ):
|
||||
self.login2()
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group2.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_without_admin_access( self ):
|
||||
self.login()
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_without_login( self ):
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
) )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_with_invalid_rate_plan( self ):
|
||||
self.login2()
|
||||
|
||||
self.user2.rate_plan = 17
|
||||
self.database.save( self.user2 )
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_without_user_admin_rate_plan( self ):
|
||||
self.login2()
|
||||
|
||||
self.user2.rate_plan = 0
|
||||
self.database.save( self.user2 )
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_without_user_admin_rate_plan( self ):
|
||||
self.login2()
|
||||
|
||||
self.user2.rate_plan = 0
|
||||
self.database.save( self.user2 )
|
||||
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_without_included_users_in_rate_plan( self ):
|
||||
self.login2()
|
||||
|
||||
del( self.settings[ u"global" ][ u"luminotes.rate_plans"][ 1 ][ u"included_users" ] )
|
||||
|
||||
# first successfully create a group member
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_with_unknown_group( self ):
|
||||
self.login2()
|
||||
|
||||
# first successfully create a group member
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = u"unknowngroupid",
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"access" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( self.new_username ) )
|
||||
assert user is None
|
||||
|
||||
def test_signup_group_member_with_too_many_users( self ):
|
||||
self.login2()
|
||||
|
||||
# first successfully create a group member
|
||||
self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = self.new_username,
|
||||
password = self.new_password,
|
||||
password_repeat = self.new_password,
|
||||
email_address = self.new_email_address,
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
# then create another, going over the limit of the rate plan's included_users
|
||||
result = self.http_post( "/users/signup_group_member", dict(
|
||||
group_id = self.group.object_id,
|
||||
username = u"kaylee",
|
||||
password = u"reallyshiny",
|
||||
password_repeat = u"reallyshiny",
|
||||
email_address = u"mechanic@example.com",
|
||||
create_user_button = u"create member",
|
||||
), session_id = self.session_id )
|
||||
|
||||
assert u"additional users" in result[ "error" ]
|
||||
user = self.database.select_one( User, User.sql_load_by_username( u"kaylee" ) )
|
||||
assert user is None
|
||||
|
||||
def test_subscribe( self ):
|
||||
self.login()
|
||||
|
||||
|
|
Reference in New Issue