|
|
|
@ -103,6 +103,8 @@ def test_inspect_category(app, admin_user):
|
|
|
|
|
def test_category_fold_preferences(app, admin_user):
|
|
|
|
|
category1 = Category.objects.create(label='Foo bar')
|
|
|
|
|
category2 = Category.objects.create(label='Toto')
|
|
|
|
|
pref_name1 = f'folded-admin-forms-group-{category1.id}'
|
|
|
|
|
pref_name2 = f'folded-admin-forms-group-{category2.id}'
|
|
|
|
|
|
|
|
|
|
Agenda.objects.create(label='Foo bar', category=category1)
|
|
|
|
|
agenda2 = Agenda.objects.create(label='Titi', category=category2)
|
|
|
|
@ -111,62 +113,65 @@ def test_category_fold_preferences(app, admin_user):
|
|
|
|
|
|
|
|
|
|
resp = app.get('/manage/')
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-1]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name1}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-2]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name2}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
user_prefs = UserPreferences.objects.get(user=admin_user)
|
|
|
|
|
user_prefs.update_preference('folded-admin-forms-group-1', True)
|
|
|
|
|
user_prefs.update_preference(pref_name1, True)
|
|
|
|
|
resp = app.get('/manage/')
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-1]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name1}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' in elt[0].classes
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-2]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name2}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
# Order is preserved when adding a new category : preferences are preserved
|
|
|
|
|
category_temp = Category.objects.create(label='Tata0')
|
|
|
|
|
category3 = Category.objects.create(label='Tata')
|
|
|
|
|
pref_name3 = f'folded-admin-forms-group-{category3.id}'
|
|
|
|
|
category_temp.delete()
|
|
|
|
|
Agenda.objects.create(label='Titi', category=category3)
|
|
|
|
|
|
|
|
|
|
user_prefs.update_preference('folded-admin-forms-group-1', False)
|
|
|
|
|
user_prefs.update_preference('folded-admin-forms-group-2', True)
|
|
|
|
|
user_prefs.update_preference(pref_name1, False)
|
|
|
|
|
user_prefs.update_preference(pref_name2, True)
|
|
|
|
|
resp = app.get('/manage/')
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-1]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name1}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-2]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name2}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' in elt[0].classes
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-3]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name3}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
# Preferences are "shifted" when a category is deleted
|
|
|
|
|
# Preferences are not "shifted" when a category is deleted
|
|
|
|
|
agenda2.delete()
|
|
|
|
|
resp = app.get('/manage/')
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-1]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name1}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|
|
|
|
|
|
elt = resp.pyquery.find('div[data-section-folded-pref-name=folded-admin-forms-group-2]')
|
|
|
|
|
elt = resp.pyquery.find(f'div[data-section-folded-pref-name={pref_name3}]')
|
|
|
|
|
assert len(elt) == 1
|
|
|
|
|
assert 'foldable' in elt[0].classes
|
|
|
|
|
assert 'folded' in elt[0].classes
|
|
|
|
|
assert 'folded' not in elt[0].classes
|
|
|
|
|