first commit
This commit is contained in:
2
modules/user_role/tests/__init__.py
Normal file
2
modules/user_role/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
BIN
modules/user_role/tests/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/user_role/tests/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/user_role/tests/__pycache__/test_module.cpython-311.pyc
Normal file
BIN
modules/user_role/tests/__pycache__/test_module.cpython-311.pyc
Normal file
Binary file not shown.
Binary file not shown.
96
modules/user_role/tests/scenario_user_role.rst
Normal file
96
modules/user_role/tests/scenario_user_role.rst
Normal file
@@ -0,0 +1,96 @@
|
||||
==================
|
||||
User Role Scenario
|
||||
==================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('user_role')
|
||||
|
||||
Create some groups::
|
||||
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> groups = [Group(name="Group %s" % i) for i in range(5)]
|
||||
>>> Group.save(groups)
|
||||
|
||||
Create a role::
|
||||
|
||||
>>> Role = Model.get('res.role')
|
||||
>>> role = Role(name="Role")
|
||||
>>> role.groups.append(Group(groups[0].id))
|
||||
>>> role.groups.append(Group(groups[1].id))
|
||||
>>> role.save()
|
||||
|
||||
Create a user with some groups::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> user = User(login="user")
|
||||
>>> user.groups.append(Group(groups[1].id))
|
||||
>>> user.groups.append(Group(groups[2].id))
|
||||
>>> user.groups.append(Group(groups[3].id))
|
||||
>>> user.save()
|
||||
>>> len(user.groups)
|
||||
3
|
||||
|
||||
Set the role to the user::
|
||||
|
||||
>>> user_role = user.roles.new()
|
||||
>>> user_role.role = role
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
2
|
||||
>>> assertEqual(user.groups, [groups[0], groups[1]])
|
||||
|
||||
Start the role in the future::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = dt.datetime.now() + dt.timedelta(days=1)
|
||||
>>> user_role.to_date = None
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
0
|
||||
|
||||
End the role in the past::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = None
|
||||
>>> user_role.to_date = dt.datetime.now() - dt.timedelta(days=1)
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
0
|
||||
|
||||
Start the role in the past and end in the future::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = dt.datetime.now() - dt.timedelta(days=1)
|
||||
>>> user_role.to_date = dt.datetime.now() + dt.timedelta(days=1)
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
2
|
||||
|
||||
Changing groups to role::
|
||||
|
||||
>>> role.groups.append(Group(groups[4].id))
|
||||
>>> role.save()
|
||||
|
||||
>>> user.reload()
|
||||
>>> len(user.groups)
|
||||
3
|
||||
|
||||
Deleting role::
|
||||
|
||||
>>> role.delete()
|
||||
|
||||
>>> user.reload()
|
||||
>>> len(user.groups)
|
||||
0
|
||||
12
modules/user_role/tests/test_module.py
Normal file
12
modules/user_role/tests/test_module.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.tests.test_tryton import ModuleTestCase
|
||||
|
||||
|
||||
class UserRoleTestCase(ModuleTestCase):
|
||||
'Test User Role module'
|
||||
module = 'user_role'
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/user_role/tests/test_scenario.py
Normal file
8
modules/user_role/tests/test_scenario.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.tests.test_tryton import load_doc_tests
|
||||
|
||||
|
||||
def load_tests(*args, **kwargs):
|
||||
return load_doc_tests(__name__, __file__, *args, **kwargs)
|
||||
Reference in New Issue
Block a user