Projet

Général

Profil

0006-tests-add-test-to-profile-views-40098.patch

Nicolas Roche, 27 février 2020 01:10

Télécharger (2,96 ko)

Voir les différences:

Subject: [PATCH 6/6] tests: add test to profile views (#40098)

 tests/test_manager.py | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
tests/test_manager.py
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
-