Skip to content

Commit c68446a

Browse files
committed
More select2 and test fixes.
- Legacy-Id: 19781
1 parent e9fd781 commit c68446a

28 files changed

Lines changed: 559 additions & 558 deletions

ietf/api/tests.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ def test_api_set_session_video_url(self):
145145
self.assertEqual(event.by, recman)
146146

147147
def test_api_upload_bluesheet(self):
148-
return # FIXME-LARS
149148
url = urlreverse('ietf.meeting.views.api_upload_bluesheet')
150149
recmanrole = RoleFactory(group__type_id='ietf', name_id='recman')
151150
recman = recmanrole.person

ietf/doc/fields.py

Lines changed: 21 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,33 @@
44

55
import json
66

7-
from typing import Type # pyflakes:ignore
7+
from typing import Type # pyflakes:ignore
88

99
from django.utils.html import escape
10-
from django.db import models # pyflakes:ignore
10+
from django.db import models # pyflakes:ignore
1111
from django.db.models import Q
1212
from django.urls import reverse as urlreverse
1313

14-
import debug # pyflakes:ignore
14+
import debug # pyflakes:ignore
1515

1616
from ietf.doc.models import Document, DocAlias
1717
from ietf.doc.utils import uppercase_std_abbreviated_name
1818
from ietf.utils.fields import SearchableField
1919

20-
2120
def select2_id_doc_name(objs):
22-
return [
23-
{
24-
"id": o.pk,
25-
"text": escape(uppercase_std_abbreviated_name(o.name)),
26-
}
27-
for o in objs
28-
]
29-
30-
31-
def select2_id_name(objs):
32-
return [
33-
(o.pk, escape(uppercase_std_abbreviated_name(o.name))) for o in objs
34-
]
21+
return [{
22+
"id": o.pk,
23+
"text": escape(uppercase_std_abbreviated_name(o.name)),
24+
} for o in objs]
3525

3626

3727
def select2_id_doc_name_json(objs):
3828
return json.dumps(select2_id_doc_name(objs))
3929

4030

4131
class SearchableDocumentsField(SearchableField):
42-
"""
43-
Server-based multi-select field for choosing documents using select2.js.
44-
"""
45-
46-
model = Document # type: Type[models.Model]
32+
"""Server-based multi-select field for choosing documents using select2.js. """
33+
model = Document # type: Type[models.Model]
4734
default_hint_text = "Type name to search for document"
4835

4936
def __init__(self, doc_type="draft", *args, **kwargs):
@@ -59,50 +46,41 @@ def get_model_instances(self, item_ids):
5946
6047
Accepts both names and pks as IDs
6148
"""
62-
names = [i for i in item_ids if not i.isdigit()]
63-
ids = [i for i in item_ids if i.isdigit()]
64-
objs = self.model.objects.filter(Q(name__in=names) | Q(id__in=ids))
49+
names = [ i for i in item_ids if not i.isdigit() ]
50+
ids = [ i for i in item_ids if i.isdigit() ]
51+
objs = self.model.objects.filter(
52+
Q(name__in=names)|Q(id__in=ids)
53+
)
6554
return self.doc_type_filter(objs)
6655

6756
def make_select2_data(self, model_instances):
6857
"""Get select2 data items"""
69-
self.choices = select2_id_name(set(model_instances))
70-
# FIXME-LARS: this only works with one selection, not multiple
71-
self.initial = [tup[0] for tup in self.choices]
72-
7358
return select2_id_doc_name(model_instances)
7459

7560
def ajax_url(self):
7661
"""Get the URL for AJAX searches"""
77-
return urlreverse(
78-
"ietf.doc.views_search.ajax_select2_search_docs",
79-
kwargs={
80-
"doc_type": self.doc_type,
81-
"model_name": self.model.__name__.lower(),
82-
},
83-
)
62+
return urlreverse('ietf.doc.views_search.ajax_select2_search_docs', kwargs={
63+
"doc_type": self.doc_type,
64+
"model_name": self.model.__name__.lower()
65+
})
8466

8567

8668
class SearchableDocumentField(SearchableDocumentsField):
8769
"""Specialized to only return one Document"""
88-
8970
max_entries = 1
9071

9172

9273
class SearchableDocAliasesField(SearchableDocumentsField):
9374
"""Search DocAliases instead of Documents"""
94-
95-
model = DocAlias # type: Type[models.Model]
96-
75+
model = DocAlias # type: Type[models.Model]
76+
9777
def doc_type_filter(self, queryset):
9878
"""Filter to include only desired doc type
9979
10080
For DocAlias, pass through to the docs to check type.
10181
"""
10282
return queryset.filter(docs__type=self.doc_type)
10383

104-
10584
class SearchableDocAliasField(SearchableDocAliasesField):
10685
"""Specialized to only return one DocAlias"""
107-
108-
max_entries = 1
86+
max_entries = 1

ietf/doc/tests_bofreq.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def test_show_bof_requests(self):
6060

6161

6262
def test_bofreq_main_page(self):
63-
return # FIXME-LARS
6463
doc = BofreqFactory()
6564
doc.save_with_history(doc.docevent_set.all())
6665
self.write_bofreq_file(doc)
@@ -167,7 +166,6 @@ def test_edit_state(self):
167166
self.client.logout()
168167

169168
def test_change_editors(self):
170-
return # FIXME-LARS
171169
doc = BofreqFactory()
172170
previous_editors = list(bofreq_editors(doc))
173171
acting_editor = previous_editors[0]
@@ -210,7 +208,6 @@ def test_change_editors(self):
210208

211209

212210
def test_change_responsible(self):
213-
return # FIXME-LARS
214211
doc = BofreqFactory()
215212
previous_responsible = list(bofreq_responsible(doc))
216213
new_responsible = set(previous_responsible[1:])
@@ -249,7 +246,6 @@ def test_change_responsible(self):
249246
self.assertIn('BOF Request responsible leadership changed',outbox[0]['Subject'])
250247

251248
def test_change_responsible_validation(self):
252-
return # FIXME-LARS
253249
doc = BofreqFactory()
254250
url = urlreverse('ietf.doc.views_bofreq.change_responsible', kwargs=dict(name=doc.name))
255251
login_testing_unauthorized(self,'secretary',url)

ietf/doc/views_doc.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -719,7 +719,6 @@ def document_main(request, name, rev=None):
719719

720720
raise Http404("Document not found: %s" % (name + ("-%s"%rev if rev else "")))
721721

722-
723722
def document_html(request, name, rev=None):
724723
found = fuzzy_find_documents(name, rev)
725724
num_found = found.documents.count()
@@ -735,12 +734,14 @@ def document_html(request, name, rev=None):
735734
if not os.path.exists(doc.get_file_name()):
736735
raise Http404("File not found: %s" % doc.get_file_name())
737736

737+
738738
if found.matched_rev or found.matched_name.startswith('rfc'):
739739
rev = found.matched_rev
740740
else:
741741
rev = doc.rev
742742
if rev:
743743
doc = doc.history_set.filter(rev=rev).first() or doc.fake_history_obj(rev)
744+
744745
if doc.type_id in ['draft',]:
745746
doc.supermeta = build_doc_supermeta_block(doc)
746747
doc.meta = build_doc_meta_block(doc, settings.HTMLIZER_URL_PREFIX)
@@ -1910,4 +1911,4 @@ def rfcdiff_latest_json(request, name, rev=None):
19101911
response['previous'] = f'rfc{match.group(2)}'
19111912
if not response:
19121913
raise Http404
1913-
return HttpResponse(json.dumps(response), content_type='application/json')
1914+
return HttpResponse(json.dumps(response), content_type='application/json')

ietf/group/tests_info.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ def test_bofs(self):
198198
self.assertEqual(len(q('#content a:contains("%s")' % group.acronym)), 1)
199199

200200
def test_group_documents(self):
201-
return # FIXME-LARS
202201
group = GroupFactory()
203202
setup_default_community_list_for_group(group)
204203
draft = WgDraftFactory(group=group)
@@ -339,7 +338,6 @@ def verify_can_edit_group(url, group, username):
339338
verify_cannot_edit_group(url, group, username)
340339

341340
def test_group_about_personnel(self):
342-
return # FIXME-LARS
343341
"""Correct personnel should appear on the group About page"""
344342
group = GroupFactory()
345343
for role_name in group.features.default_used_roles:
@@ -582,7 +580,6 @@ def test_create_based_on_existing_bof(self):
582580
# self.assertEqual(Group.objects.get(acronym=group.acronym).name, "Test")
583581

584582
def test_edit_info(self):
585-
return # FIXME-LARS
586583
group = GroupFactory(acronym='mars',parent=GroupFactory(type_id='area'))
587584
CharterFactory(group=group)
588585
RoleFactory(group=group,name_id='chair',person__user__email='marschairman@example.org')
@@ -719,7 +716,6 @@ def test_edit_extresources(self):
719716

720717

721718
def test_edit_field(self):
722-
return # FIXME-LARS
723719
def _test_field(group, field_name, field_content, prohibited_form_names):
724720
url = urlreverse('ietf.group.views.edit',
725721
kwargs=dict(
@@ -763,7 +759,6 @@ def _test_field(group, field_name, field_content, prohibited_form_names):
763759
_test_field(group, 'liaison_cc_contact_roles', 'user@example.com, other_user@example.com', ['liaison_contact'])
764760

765761
def test_edit_reviewers(self):
766-
return # FIXME-LARS
767762
group=GroupFactory(type_id='review',parent=GroupFactory(type_id='area'))
768763
other_group=GroupFactory(type_id='review',parent=GroupFactory(type_id='area'))
769764
review_req = ReviewRequestFactory(team=group)
@@ -960,7 +955,6 @@ def _assert_cleaned_data_equal(self, cleaned_data, post_data):
960955
self.assertEqual(actual, expected, 'unexpected value for {}'.format(attr))
961956

962957
def do_edit_roles_test(self, group):
963-
return # FIXME-LARS
964958
# get post_data for the group
965959
orig_data = self._group_post_data(group)
966960

@@ -1000,7 +994,6 @@ def test_edit_roles(self):
1000994
self.do_edit_roles_test(group)
1001995

1002996
def test_need_parent(self):
1003-
return # FIXME-LARS
1004997
"""GroupForm should enforce non-null parent when required"""
1005998
group = GroupFactory()
1006999
parent = group.parent
@@ -1076,7 +1069,6 @@ def last_day_of_month(self, d):
10761069

10771070

10781071
def test_milestone_sets(self):
1079-
return # FIXME-LARS
10801072
m1, m2, group = self.create_test_milestones()
10811073

10821074
for url in group_urlreverse_list(group, 'ietf.group.milestones.edit_milestones;current'):
@@ -1097,7 +1089,6 @@ def test_milestone_sets(self):
10971089
self.assertContains(r, m2.desc)
10981090

10991091
def test_add_milestone(self):
1100-
return # FIXME-LARS
11011092
m1, m2, group = self.create_test_milestones()
11021093

11031094
url = urlreverse('ietf.group.milestones.edit_milestones;current', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
@@ -1156,7 +1147,6 @@ def test_add_milestone(self):
11561147
self.assertTrue('mars-wg@' in outbox[-1]['To'])
11571148

11581149
def test_add_milestone_as_chair(self):
1159-
return # FIXME-LARS
11601150
m1, m2, group = self.create_test_milestones()
11611151

11621152
url = urlreverse('ietf.group.milestones.edit_milestones;current', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
@@ -1193,7 +1183,6 @@ def test_add_milestone_as_chair(self):
11931183
self.assertFalse(group.list_email in outbox[-1]['To'])
11941184

11951185
def test_accept_milestone(self):
1196-
return # FIXME-LARS
11971186
m1, m2, group = self.create_test_milestones()
11981187
m1.state_id = "review"
11991188
m1.save()
@@ -1225,7 +1214,6 @@ def test_accept_milestone(self):
12251214
self.assertTrue("to active from review" in m.milestonegroupevent_set.all()[0].desc)
12261215

12271216
def test_delete_milestone(self):
1228-
return # FIXME-LARS
12291217
m1, m2, group = self.create_test_milestones()
12301218

12311219
url = urlreverse('ietf.group.milestones.edit_milestones;current', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
@@ -1253,7 +1241,6 @@ def test_delete_milestone(self):
12531241
self.assertTrue("Deleted milestone" in m.milestonegroupevent_set.all()[0].desc)
12541242

12551243
def test_edit_milestone(self):
1256-
return # FIXME-LARS
12571244
m1, m2, group = self.create_test_milestones()
12581245

12591246
url = urlreverse('ietf.group.milestones.edit_milestones;current', kwargs=dict(group_type=group.type_id, acronym=group.acronym))
@@ -1333,7 +1320,6 @@ def test_reset_charter_milestones(self):
13331320
self.assertEqual(group.charter.docevent_set.count(), events_before + 2) # 1 delete, 1 add
13341321

13351322
def test_edit_sort(self):
1336-
return # FIXME-LARS
13371323
group = GroupFactory(uses_milestone_dates=False)
13381324
DatelessGroupMilestoneFactory(group=group,order=1)
13391325
DatelessGroupMilestoneFactory(group=group,order=0)
@@ -1347,7 +1333,6 @@ def test_edit_sort(self):
13471333

13481334
class DatelessMilestoneTests(TestCase):
13491335
def test_switch_to_dateless(self):
1350-
return # FIXME-LARS
13511336
ad_role = RoleFactory(group__type_id='area',name_id='ad')
13521337
ms = DatedGroupMilestoneFactory(group__parent=ad_role.group)
13531338
ad = ad_role.person
@@ -1384,7 +1369,6 @@ def test_switch_to_dateless(self):
13841369
self.assertEqual(len(q('#uses_milestone_dates')),0)
13851370

13861371
def test_switch_to_dated(self):
1387-
return # FIXME-LARS
13881372
ad_role = RoleFactory(group__type_id='area',name_id='ad')
13891373
ms = DatelessGroupMilestoneFactory(group__parent=ad_role.group)
13901374
ad = ad_role.person
@@ -1408,7 +1392,6 @@ def test_switch_to_dated(self):
14081392
self.assertEqual(len(q('#uses_milestone_dates')),1)
14091393

14101394
def test_add_first_milestone(self):
1411-
return # FIXME-LARS
14121395
role = RoleFactory(name_id='chair',group__uses_milestone_dates=False)
14131396
group = role.group
14141397
chair = role.person
@@ -1428,7 +1411,6 @@ def test_add_first_milestone(self):
14281411
self.assertEqual(group.groupmilestone_set.count(),1)
14291412

14301413
def test_can_switch_date_types_for_initial_charter(self):
1431-
return # FIXME-LARS
14321414
ad_role = RoleFactory(group__type_id='area',name_id='ad')
14331415
ms = DatedGroupMilestoneFactory(group__parent=ad_role.group)
14341416
ad = ad_role.person
@@ -1451,7 +1433,6 @@ def test_can_switch_date_types_for_initial_charter(self):
14511433
self.assertEqual(q('#switch-date-use-form button').attr('style'), None)
14521434

14531435
def test_edit_and_reorder_milestone(self):
1454-
return # FIXME-LARS
14551436
role = RoleFactory(name_id='chair',group__uses_milestone_dates=False)
14561437
group = role.group
14571438

@@ -1661,7 +1642,6 @@ def setUp(self):
16611642

16621643

16631644
def test_meeting_info(self):
1664-
return # FIXME-LARS
16651645
for url in group_urlreverse_list(self.group, 'ietf.group.views.meetings'):
16661646
response = self.client.get(url)
16671647
self.assertEqual(response.status_code, 200)
@@ -1852,7 +1832,6 @@ def test_admin_acronym_validation(self):
18521832
self.assertTrue(form.is_valid())
18531833

18541834
def test_groupform_acronym_validation(self):
1855-
return # FIXME-LARS
18561835
form = GroupForm({'acronym':'shouldpass','name':'should pass','state':'active'},group_type='wg')
18571836
self.assertTrue(form.is_valid())
18581837
form = GroupForm({'acronym':'should-fail','name':'should fail','state':'active'},group_type='wg')

ietf/group/tests_review.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -983,5 +983,4 @@ def test_reset_next_reviewer(self):
983983
self.assertEqual(r.status_code,302)
984984
self.assertEqual(NextReviewerInTeam.objects.get(team=group).next_reviewer, reviewers[target_index].person)
985985
self.client.logout()
986-
target_index += 2
987-
986+
target_index += 2

ietf/iesg/tests.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,6 @@ def test_agenda_json(self):
330330
self.assertTrue(r.json())
331331

332332
def test_agenda(self):
333-
return # FIXME-LARS
334333
r = self.client.get(urlreverse("ietf.iesg.views.agenda"))
335334
self.assertEqual(r.status_code, 200)
336335

ietf/ietfauth/tests.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@ def test_reset_password(self):
407407
self.assertTrue(self.username_in_htpasswd_file(user.username))
408408

409409
def test_review_overview(self):
410-
return # FIXME-LARS
411410
review_req = ReviewRequestFactory()
412411
assignment = ReviewAssignmentFactory(review_request=review_req,reviewer=EmailFactory(person__user__username='reviewer'))
413412
RoleFactory(name_id='reviewer',group=review_req.team,person=assignment.reviewer.person)

0 commit comments

Comments
 (0)