more tests

This commit is contained in:
Élie Bouttier 2017-11-08 20:50:24 +01:00
parent b72e9c9180
commit 93a31c5e08
1 changed files with 75 additions and 8 deletions

View File

@ -66,25 +66,92 @@ class VolunteersTests(TestCase):
reverse('volunteer-home', kwargs=dict(volunteer_token=v.token)), status_code=302, target_status_code=200)
class ProposalTest(TestCase):
def setUp(self):
site = Site.objects.first()
conf = Conference.objects.get(site=site)
conf.name = 'PonyConf'
conf.save()
category_conf = TalkCategory.objects.create(site=site, name='Conference', label='conference')
category_ws = TalkCategory.objects.create(site=site, name='Workshop', label='workshop')
speaker1 = Participant.objects.create(site=site, name='Speaker 1', email='1@example.org')
speaker2 = Participant.objects.create(site=site, name='Speaker 2', email='2@example.org')
talk = Talk.objects.create(site=site, category=category_conf, title='Talk', description='This is a talk.')
talk.speakers.add(speaker1)
talk.speakers.add(speaker2)
def test_opened_categories(self):
# TODO cover all cases
conf = Conference.objects.get(name='PonyConf')
all_categories_pk = TalkCategory.objects.filter(site=conf.site).values_list('pk', flat=True)
self.assertQuerysetEqual(conf.opened_categories, all_categories_pk, transform=lambda category: category.pk, ordered=False)
def test_proposal_home(self):
self.assertEqual(self.client.get(reverse('proposal-home')).status_code, 200)
def test_proposal_dashboard(self):
speaker = Participant.objects.get(name='Speaker 1')
self.assertEqual(self.client.get(reverse('proposal-dashboard', kwargs=dict(speaker_token=speaker.token))).status_code, 200)
def test_proposal_profile_edit(self):
speaker = Participant.objects.get(name='Speaker 1')
self.assertEqual(self.client.get(reverse('proposal-profile-edit', kwargs=dict(speaker_token=speaker.token))).status_code, 200)
def test_proposal_talk_details(self):
speaker = Participant.objects.get(name='Speaker 1')
talk = Talk.objects.get(title='Talk')
self.assertEqual(self.client.get(reverse('proposal-talk-details', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk))).status_code, 200)
def test_proposal_talk_edit(self):
speaker = Participant.objects.get(name='Speaker 1')
talk = Talk.objects.get(title='Talk')
self.assertEqual(self.client.get(reverse('proposal-talk-edit', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk))).status_code, 200)
def test_proposal_speaker_add(self):
speaker = Participant.objects.get(name='Speaker 1')
talk = Talk.objects.get(title='Talk')
self.assertEqual(self.client.get(reverse('proposal-speaker-add', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk))).status_code, 200)
def test_proposal_speaker_edit(self):
speaker = Participant.objects.get(name='Speaker 1')
co_speaker = Participant.objects.get(name='Speaker 2')
talk = Talk.objects.get(title='Talk')
self.assertEqual(self.client.get(reverse('proposal-speaker-edit', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk, co_speaker_id=speaker.pk))).status_code, 200)
self.assertEqual(self.client.get(reverse('proposal-speaker-edit', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk, co_speaker_id=co_speaker.pk))).status_code, 200)
def test_proposal_speaker_remove(self):
speaker = Participant.objects.get(name='Speaker 1')
co_speaker = Participant.objects.get(name='Speaker 2')
talk = Talk.objects.get(title='Talk')
self.assertEqual(self.client.get(reverse('proposal-speaker-remove', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk, co_speaker_id=speaker.pk))).status_code, 403)
self.assertRedirects(
self.client.get(reverse('proposal-speaker-remove', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk, co_speaker_id=co_speaker.pk))),
reverse('proposal-talk-details', kwargs=dict(speaker_token=speaker.token, talk_id=talk.pk)),
status_code=302)
class ScheduleTest(TestCase):
def setUp(self):
site = Site.objects.first()
conf = Conference.objects.get(site=site)
u = User.objects.create_user('user', email='user@example.org', password='user', is_superuser=True)
room = Room.objects.create(site=site, name='S01')
user = User.objects.create_user('user', email='user@example.org', password='user')
admin = User.objects.create_user('admin', email='admin@example.org', password='admin', is_superuser=True)
room = Room.objects.create(site=site, name='Room 1')
category = TalkCategory.objects.create(site=site, name='Conference', label='conference')
participant = Participant.objects.create(site=site, name='User', email='user@example.org')
participant = Participant.objects.create(site=site, name='Participant 1', email='1@example.org')
t1 = Tag.objects.create(site=site, name='Private tag', public=False)
t2 = Tag.objects.create(site=site, name='Public tag', public=True)
start_date = datetime(year=2000, month=1, day=1, hour=10, tzinfo=pytz.timezone('Europe/Paris'))
talk = Talk.objects.create(site=site, title='Talk', description='A talk.', category=category, room=room, start_date=start_date, duration=60, accepted=True)
talk.speakers.add(participant)
talk.tags.add(t1)
talk.tags.add(t2)
pending_talk = Talk.objects.create(site=site, title='Talk', description='A talk.', category=category)
pending_talk.speakers.add(participant)
accepted_talk = Talk.objects.create(site=site, title='Talk', description='A talk.', category=category, room=room, start_date=start_date, duration=60, accepted=True)
accepted_talk.speakers.add(participant)
accepted_talk.tags.add(t1)
accepted_talk.tags.add(t2)
def test_xml(self):
self.assertEqual(self.client.get(reverse('staff-schedule') + 'xml/').status_code, 302)
self.client.login(username='user', password='user')
self.client.login(username='admin', password='admin')
response = self.client.get(reverse('staff-schedule') + 'xml/')
self.assertContains(response, 'Public tag')
self.assertNotContains(response, 'Private tag')