Beispiel #1
0
    def test_send_email_after_create_invoice(self, mock_save):
        mock_save.return_value = 'invoice.pdf'
        create_organizer_set()
        associate_events_organizers()
        create_sponsoring_set(auto_create_sponsors_set=True)
        event = Event.objects.filter(name='MyTest01').first()
        sponsoring = Sponsoring.objects.filter(
            sponsorcategory__event=event).first()
        # To complete the test we need, an event, an enabled sponsor, event_category
        self.client.login(username='******', password='******')
        data = {
            'amount': '40000',
            'document': StringIO('test'),
        }
        url = reverse('sponsoring_invoice_create',
                      kwargs={'pk': sponsoring.pk})
        response = self.client.post(url, data)

        redirect_url = reverse('sponsoring_detail',
                               kwargs={'pk': sponsoring.pk})
        self.assertRedirects(response, redirect_url)
        count = event.organizers.count()
        self.assertEqual(len(mail.outbox), count)
        self.assertEqual(
            mail.outbox[0].subject,
            render_to_string('mails/invoice_just_created_subject.txt'))
Beispiel #2
0
 def test_sponsoring_state_to_invoiced_after_invoice_asscociation(self):
     create_sponsoring_set(auto_create_sponsors_set=True)
     event = Event.objects.filter(name='MyTest01').first()
     sponsoring = Sponsoring.objects.filter(sponsorcategory__event=event).first()
     self.assertEqual(sponsoring.state, SPONSOR_STATE_UNBILLED)
     create_sponsoring_invoice()
     sponsoring.refresh_from_db()
     self.assertEqual(sponsoring.state, SPONSOR_STATE_INVOICED)
Beispiel #3
0
    def test_cant_access_sponsoring_list_if_not_event_organizer(self):
        create_sponsoring_set(auto_create_sponsors_set=True)
        event = Event.objects.filter(name='MyTest01').first()

        url = reverse('sponsoring_list', kwargs={'event_pk': event.pk})
        self.client.login(username='******', password='******')
        response = self.client.get(url)
        self.assertContainsMessage(response, MUST_BE_EVENT_ORGANIZAER_MESSAGE)
Beispiel #4
0
    def test_organizer_cant_close_sponsoring(self):
        create_sponsoring_set(auto_create_sponsors_set=True)
        event = Event.objects.filter(name='MyTest01').first()
        sponsoring = Sponsoring.objects.filter(sponsorcategory__event=event).first()

        self.assertFalse(sponsoring.close)
        url = reverse('sponsoring_set_close', kwargs={'pk': sponsoring.pk})
        self.client.login(username='******', password='******')
        response = self.client.post(url)
        self.assertForbidden(response)
Beispiel #5
0
 def test_organizer_cant_add_invoice(self):
     create_sponsoring_set(auto_create_sponsors_set=True)
     event = Event.objects.filter(name='MyTest01').first()
     sponsoring = Sponsoring.objects.filter(sponsorcategory__event=event).first()
     url = reverse('sponsoring_invoice_create', kwargs={'pk': sponsoring.pk})
     self.client.login(username='******', password='******')
     data = {
         'amount': '40000',
         'document': StringIO('test'),
     }
     response = self.client.post(url, data)
     self.assertForbidden(response)
Beispiel #6
0
 def test_super_user_can_add_invoice(self, mock_save):
     mock_save.return_value = 'invoice.pdf'
     create_sponsoring_set(auto_create_sponsors_set=True)
     event = Event.objects.filter(name='MyTest01').first()
     sponsoring = Sponsoring.objects.filter(sponsorcategory__event=event).first()
     url = reverse('sponsoring_invoice_create', kwargs={'pk': sponsoring.pk})
     self.client.login(username='******', password='******')
     data = {
         'amount': '40000',
         'document': StringIO('test'),
     }
     response = self.client.post(url, data)
     redirect_url = reverse('sponsoring_detail', kwargs={'pk': sponsoring.pk})
     self.assertRedirects(response, redirect_url)
     sponsoring.refresh_from_db()
     self.assertEqual(sponsoring.state, SPONSOR_STATE_INVOICED)
Beispiel #7
0
    def test_super_organizer_can_close_sponsoring(self):
        # Test 'close' state from 'unbilled'.
        create_sponsoring_set(auto_create_sponsors_set=True)
        event = Event.objects.filter(name='MyTest01').first()
        sponsoring = Sponsoring.objects.filter(sponsorcategory__event=event).first()
        self.assertEqual(sponsoring.state, SPONSOR_STATE_UNBILLED)
        url = reverse('sponsoring_set_close', kwargs={'pk': sponsoring.pk})
        self.client.login(username='******', password='******')
        response = self.client.post(url)

        redirect_url = reverse('sponsoring_detail', kwargs={'pk': sponsoring.pk})
        self.assertRedirects(response, redirect_url, target_status_code=302)
        self.assertContainsMessage(response, SPONSORING_SUCCESSFULLY_CLOSE_MESSAGE)

        sponsoring.refresh_from_db()
        self.assertEqual(sponsoring.state, SPONSOR_STATE_CLOSED)