Added tests for various photo pages.

- Legacy-Id: 11305
This commit is contained in:
Henrik Levkowetz 2016-06-09 21:59:17 +00:00
parent 3e54101e06
commit ebe45e5312
3 changed files with 53 additions and 3 deletions

View file

@ -19,7 +19,7 @@ from django.utils.html import escape
from django.template.defaultfilters import urlize
from ietf.doc.models import Document, DocAlias, DocEvent, State
from ietf.group.models import Group, GroupEvent, GroupMilestone, GroupStateTransitions
from ietf.group.models import Group, GroupEvent, GroupMilestone, GroupStateTransitions, Role
from ietf.group.utils import save_group_in_history, setup_default_community_list_for_group
from ietf.name.models import DocTagName, GroupStateName, GroupTypeName
from ietf.person.models import Person, Email
@ -350,6 +350,24 @@ class GroupPagesTests(TestCase):
self.assertTrue(de.desc in unicontent(r))
def test_chair_photos(self):
make_test_data()
url = urlreverse("ietf.group.views.chair_photos", kwargs={'group_type':'wg'})
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
chairs = Role.objects.filter(group__type='wg', group__state='active', name_id='chair')
self.assertEqual(len(q('div.photo-thumbnail img')), chairs.count())
def test_group_photos(self):
make_test_data()
url = urlreverse("ietf.group.views.group_photos", kwargs={'group_type':'wg', 'acronym':'mars'})
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
roles = Role.objects.filter(group__acronym='mars')
self.assertEqual(len(q('div.photo-thumbnail img')), roles.count())
class GroupEditTests(TestCase):
def setUp(self):
self.charter_dir = os.path.abspath("tmp-charter-dir")

View file

@ -11,7 +11,7 @@ from pyquery import PyQuery
from ietf.doc.models import DocEvent, BallotDocEvent, BallotPositionDocEvent, TelechatDocEvent
from ietf.doc.models import Document, DocAlias, State, RelatedDocument
from ietf.group.models import Group, GroupMilestone
from ietf.group.models import Group, GroupMilestone, Role
from ietf.iesg.agenda import get_agenda_date, agenda_data
from ietf.iesg.models import TelechatDate
from ietf.name.models import StreamName
@ -66,6 +66,14 @@ class IESGTests(TestCase):
self.assertEqual(r.status_code, 200)
self.assertTrue(draft.name in unicontent(r))
def test_photos(self):
url = urlreverse("ietf.iesg.views.photos")
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
ads = Role.objects.filter(group__type='area', group__state='active', name_id='ad')
self.assertEqual(len(q('div.photo-thumbnail img')), ads.count())
class IESGAgendaTests(TestCase):
def setUp(self):
make_test_data()

View file

@ -1,14 +1,17 @@
import json
from pyquery import PyQuery
from django.core.urlresolvers import reverse as urlreverse
import debug # pyflakes:ignore
from ietf.person.factories import EmailFactory,PersonFactory
from ietf.utils.test_utils import TestCase
from ietf.utils.test_data import make_test_data
from ietf.person.factories import EmailFactory,PersonFactory
class PersonTests(TestCase):
def test_ajax_search_emails(self):
draft = make_test_data()
person = draft.ad
@ -24,3 +27,24 @@ class PersonTests(TestCase):
EmailFactory(person=person,primary=False,active=True)
EmailFactory(person=person,primary=False,active=False)
self.assertTrue(primary.address in person.formatted_email())
def test_profile(self):
person = PersonFactory(with_bio=True)
self.assertTrue(person.photo is not None)
self.assertTrue(person.photo.name is not None)
url = urlreverse("ietf.person.views.profile", kwargs={ "email_or_name": person.plain_name()})
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
self.assertIn(person.photo_name(), r.content)
q = PyQuery(r.content)
self.assertIn("Photo of %s"%person, q("div.bio-text img.bio-photo").attr("alt"))
bio_text = q("div.bio-text").text()
self.assertIsNotNone(bio_text)
photo_url = q("div.bio-text img.bio-photo").attr("src")
r = self.client.get(photo_url)
self.assertEqual(r.status_code, 200)