tests: add test to profile views (#40098)

This commit is contained in:
Nicolas Roche 2020-02-27 00:50:14 +01:00
parent 8f8b71736b
commit e9e0962213
1 changed files with 34 additions and 0 deletions

View File

@ -19,6 +19,7 @@ import pytest
from hobo.profile import models
from hobo.environment.models import Authentic
from hobo.profile.models import AttributeDefinition
def login(app, username='admin', password='password'):
@ -80,6 +81,39 @@ def test_attribute_kind_not_restricted_at_model_level(db):
assert models.AttributeDefinition.objects.create(label='test', kind='somestring')
def test_profile_home_view(logged_app):
resp = logged_app.get('/profile/', status=200)
assert ([x['href'] for x in resp.html.findAll('a', {'rel': 'popup'})][1:4] == [
'/profile/title/options',
'/profile/first_name/options',
'/profile/last_name/options',
])
def test_reorder_view(logged_app):
assert AttributeDefinition.objects.filter(name='first_name')[0].order == 2
new_order = '3,2,1,4,5,6,7,8,9,10,11'
resp = logged_app.get('/profile/reorder?new-order=%s' % new_order, status=302)
assert resp.location == '/profile/'
assert AttributeDefinition.objects.filter(name='last_name')[0].order == 1
resp = resp.follow()
assert ([x['href'] for x in resp.html.findAll('a', {'rel': 'popup'})][1:4] == [
'/profile/last_name/options',
'/profile/first_name/options',
'/profile/title/options',
])
def test_profile_attribute_option_view(logged_app):
assert AttributeDefinition.objects.filter(name='first_name')[0].required
resp = logged_app.get('/profile/first_name/options', status=200)
assert resp.form['required'].checked == True
resp.form['required'].checked = False
resp = resp.form.submit()
assert not AttributeDefinition.objects.filter(name='first_name')[0].required
assert resp.location == '/profile/'
def test_debug_home(logged_app):
from hobo.environment.utils import get_setting_variable, get_installed_services_dict