14 |
14 |
# You should have received a copy of the GNU Affero General Public License
|
15 |
15 |
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16 |
16 |
|
17 |
17 |
|
18 |
18 |
import pytest
|
19 |
19 |
|
20 |
20 |
from hobo.profile import models
|
21 |
21 |
from hobo.environment.models import Authentic
|
|
22 |
from hobo.profile.models import AttributeDefinition
|
22 |
23 |
|
23 |
24 |
|
24 |
25 |
def login(app, username='admin', password='password'):
|
25 |
26 |
login_page = app.get('/login/')
|
26 |
27 |
login_form = login_page.forms[0]
|
27 |
28 |
login_form['username'] = username
|
28 |
29 |
login_form['password'] = password
|
29 |
30 |
resp = login_form.submit()
|
... | ... | |
75 |
76 |
page.form.submit()
|
76 |
77 |
assert models.AttributeDefinition.objects.filter(kind=kind).filter(name='test').count() == 1
|
77 |
78 |
|
78 |
79 |
|
79 |
80 |
def test_attribute_kind_not_restricted_at_model_level(db):
|
80 |
81 |
assert models.AttributeDefinition.objects.create(label='test', kind='somestring')
|
81 |
82 |
|
82 |
83 |
|
|
84 |
def test_profile_home_view(logged_app):
|
|
85 |
resp = logged_app.get('/profile/', status=200)
|
|
86 |
assert ([x['href'] for x in resp.html.findAll('a', {'rel': 'popup'})][1:4] == [
|
|
87 |
'/profile/title/options',
|
|
88 |
'/profile/first_name/options',
|
|
89 |
'/profile/last_name/options',
|
|
90 |
])
|
|
91 |
|
|
92 |
|
|
93 |
def test_reorder_view(logged_app):
|
|
94 |
assert AttributeDefinition.objects.filter(name='first_name')[0].order == 2
|
|
95 |
new_order = '3,2,1,4,5,6,7,8,9,10,11'
|
|
96 |
resp = logged_app.get('/profile/reorder?new-order=%s' % new_order, status=302)
|
|
97 |
assert resp.location == '/profile/'
|
|
98 |
assert AttributeDefinition.objects.filter(name='last_name')[0].order == 1
|
|
99 |
resp = resp.follow()
|
|
100 |
assert ([x['href'] for x in resp.html.findAll('a', {'rel': 'popup'})][1:4] == [
|
|
101 |
'/profile/last_name/options',
|
|
102 |
'/profile/first_name/options',
|
|
103 |
'/profile/title/options',
|
|
104 |
])
|
|
105 |
|
|
106 |
|
|
107 |
def test_profile_attribute_option_view(logged_app):
|
|
108 |
assert AttributeDefinition.objects.filter(name='first_name')[0].required
|
|
109 |
resp = logged_app.get('/profile/first_name/options', status=200)
|
|
110 |
assert resp.form['required'].checked == True
|
|
111 |
resp.form['required'].checked = False
|
|
112 |
resp = resp.form.submit()
|
|
113 |
assert not AttributeDefinition.objects.filter(name='first_name')[0].required
|
|
114 |
assert resp.location == '/profile/'
|
|
115 |
|
|
116 |
|
83 |
117 |
def test_debug_home(logged_app):
|
84 |
118 |
from hobo.environment.utils import get_setting_variable, get_installed_services_dict
|
85 |
119 |
|
86 |
120 |
IPS = '99.99.99.99 77.77.77.77'
|
87 |
121 |
IP_LIST = ['99.99.99.99', '77.77.77.77']
|
88 |
122 |
|
89 |
123 |
page = logged_app.get('/debug/')
|
90 |
124 |
page.form['debug_log'] = True
|
91 |
|
-
|