3131from ietf .group .models import Group , GroupEvent , GroupMilestone , GroupStateTransitions , Role
3232from ietf .group .utils import save_group_in_history , setup_default_community_list_for_group
3333from ietf .meeting .factories import SessionFactory
34- from ietf .name .models import DocTagName , GroupStateName , GroupTypeName
34+ from ietf .name .models import DocTagName , GroupStateName , GroupTypeName , ExtResourceName
3535from ietf .person .models import Person , Email
3636from ietf .person .factories import PersonFactory
3737from ietf .review .factories import ReviewRequestFactory , ReviewAssignmentFactory
@@ -634,6 +634,7 @@ def test_edit_info(self):
634634 def test_edit_extresources (self ):
635635 group = GroupFactory (acronym = 'mars' ,parent = GroupFactory (type_id = 'area' ))
636636 CharterFactory (group = group )
637+ ExtResourceName .objects .create (slug = 'keymaster' , name = 'Keymaster' , type_id = 'email' )
637638
638639 url = urlreverse ('ietf.group.views.edit' , kwargs = dict (group_type = group .type_id , acronym = group .acronym , action = "edit" , field = "resources" ))
639640 login_testing_unauthorized (self , "secretary" , url )
@@ -646,8 +647,9 @@ def test_edit_extresources(self):
646647 badlines = (
647648 'github_repo https://github3.com/some/repo' ,
648649 'github_notify badaddr' ,
649- 'website /not/a/good/url'
650- 'notavalidtag blahblahblah'
650+ 'website /not/a/good/url' ,
651+ 'notavalidtag blahblahblah' ,
652+ 'github_repo' ,
651653 )
652654
653655 for line in badlines :
@@ -660,15 +662,22 @@ def test_edit_extresources(self):
660662 github_repo https://github.com/some/repo Some display text
661663 github_username githubuser
662664 webpage http://example.com/http/is/fine
665+ jabber_room xmpp:mars@jabber.example.com
666+ keymaster keymaster@example.org Group Rooter
663667 """
664668
665669 r = self .client .post (url , dict (resources = goodlines , submit = "1" ))
666670 self .assertEqual (r .status_code ,302 )
667671 group = Group .objects .get (acronym = group .acronym )
668672 self .assertEqual (group .latest_event (GroupEvent ,type = "info_changed" ).desc [:20 ], 'Resources changed to' )
669673 self .assertIn ('github_username githubuser' , group .latest_event (GroupEvent ,type = "info_changed" ).desc )
670- self .assertEqual (group .groupextresource_set .count (), 3 )
674+ self .assertEqual (group .groupextresource_set .count (), 5 )
671675 self .assertEqual (group .groupextresource_set .get (name__slug = 'github_repo' ).display_name , 'Some display text' )
676+ self .assertIn (group .groupextresource_set .first ().name .slug , str (group .groupextresource_set .first ()))
677+
678+ # exercise format_resources
679+ r = self .client .get (url )
680+ self .assertIn ('Group Rooter' , unicontent (r ))
672681
673682
674683 def test_edit_field (self ):
0 commit comments