def test_send_email_after_create_sponsoring(self): create_organizer_set() associate_events_organizers() create_sponsors_set() sponsor = Sponsor.objects.filter(enabled=True).first() event = Event.objects.filter(name='MyTest01').first() sponsor_category = SponsorCategory.objects.filter(event=event).first() url = reverse('sponsoring_create', kwargs={'event_pk': event.pk}) # To complete the test we need, an event, an enabled sponsor, event_category self.client.login(username='******', password='******') data = { 'comments': '' } data['sponsorcategory'] = sponsor_category.pk data['sponsor'] = sponsor.pk response = self.client.post(url, data) sponsoring = Sponsoring.objects.last() redirect_url = reverse('sponsoring_detail', kwargs={'pk': sponsoring.pk}) self.assertRedirects(response, redirect_url) count = User.objects.filter(is_superuser=True).exclude(email__exact='').count() self.assertEqual(len(mail.outbox), count) self.assertEqual(mail.outbox[0].subject, render_to_string('mails/sponsoring_just_created_subject.txt'))
def test_cant_get_sponsor_create_form_without_sponsor_category(self): create_sponsors_set() event = Event.objects.filter(name='MyTest02').first() url = reverse('sponsoring_create', kwargs={'event_pk': event.pk}) self.client.login(username='******', password='******') response = self.client.get(url) self.assertContainsMessage(response, MUST_EXISTS_SPONSOR_CATEGORY_MESSAGE) redirect_url = reverse('sponsoring_list', kwargs={'event_pk': event.pk}) self.assertRedirects(response, redirect_url)
def test_send_email_after_enable_sponsor(self): self.client.login(username='******', password='******') create_sponsors_set() sponsor = Sponsor.objects.filter(enabled=False).first() response = self.client.post(reverse('sponsor_set_enabled', kwargs={'pk': sponsor.pk})) self.assertEqual(response.status_code, 302) self.assertEqual(mail.outbox[0].subject, render_to_string('mails/sponsor_just_enabled_subject.txt'))
def test_cant_get_sponsor_create_form_if_not_event_organizer(self): create_sponsors_set() event = Event.objects.filter(name='MyTest02').first() SponsorCategory.objects.create(name='Silver', amount=1000, event=event) url = reverse('sponsoring_create', kwargs={'event_pk': event.pk}) self.client.login(username='******', password='******') response = self.client.get(url) self.assertContainsMessage(response, MUST_BE_EVENT_ORGANIZAER_MESSAGE) redirect_url = reverse('event_list') self.assertRedirects(response, redirect_url)
def test_organizer_can_create_sponsoring(self): create_sponsors_set() event = Event.objects.filter(name='MyTest01').first() url = reverse('sponsoring_create', kwargs={'event_pk': event.pk}) self.client.login(username='******', password='******') sponsor_category = SponsorCategory.objects.filter(event=event).first() data = {'comments': ''} sponsor = Sponsor.objects.filter(enabled=True).first() data['sponsorcategory'] = sponsor_category.pk data['sponsor'] = sponsor.pk response = self.client.post(url, data) self.assertEqual(response.status_code, 302)
def test_sponsoring_create_form_prefiltered(self): create_sponsors_set() event = Event.objects.filter(name='MyTest01').first() event02 = Event.objects.filter(name='MyTest02').first() sponsor_category = SponsorCategory.objects.create( name='TEst', amount=1000, event=event02 ) url = reverse('sponsoring_create', kwargs={'event_pk': event.pk}) self.client.login(username='******', password='******') response = self.client.get(url) sponsor_form_field = response.context['form'].fields['sponsor'] sponsor_category_form_field = response.context['form'].fields['sponsorcategory'] not_enabled_sponsor = Sponsor.objects.filter(enabled=False).first() enabled_sponsor = Sponsor.objects.filter(enabled=True).first() self.assertNotIn(not_enabled_sponsor, sponsor_form_field._get_queryset()) self.assertIn(enabled_sponsor, sponsor_form_field._get_queryset()) self.assertNotIn(sponsor_category, sponsor_category_form_field._get_queryset())