def setUp(self): user = User.objects.first() create_organizer_set(auto_create_user_set=True) create_event_set(user) associate_events_organizers() create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) create_provider()
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)
def test_organizer_cant_set_partial_payment(self): invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) url = reverse('invoice_set_partial_payment', kwargs={'pk': invoice.pk}) self.client.login(username='******', password='******') response = self.client.post(url) redirect_to_login_url = reverse('login') + '?next=' + url self.assertRedirects(response, redirect_to_login_url)
def setUp(self): create_organizer_set(auto_create_user_set=True) self.user = User.objects.first() create_event_set(self.user) associate_events_organizers() self.invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) create_invoice_affect_set(self.invoice, total_amount=False) self.invoice.invoice_ok = True self.invoice.partial_payment = True self.invoice.save()
def test_organizer_can_check_invoice(self): invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) self.assertEqual(invoice.sponsoring.state, SPONSOR_STATE_INVOICED) url = reverse('invoice_set_approved', kwargs={'pk': invoice.pk}) self.client.login(username='******', password='******') response = self.client.post(url) redirect_url = reverse('sponsoring_detail', kwargs={'pk': invoice.sponsoring.pk}) self.assertRedirects(response, redirect_url) self.assertContainsMessage(response, INVOICE_APPOVED_MESSAGE) invoice.sponsoring.refresh_from_db() self.assertEqual(invoice.sponsoring.state, SPONSOR_STATE_CHECKED)
def test_super_organizer_can_set_partial_payment(self): invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) invoice.invoice_ok = True invoice.save() self.assertEqual(invoice.sponsoring.state, SPONSOR_STATE_CHECKED) url = reverse('invoice_set_partial_payment', kwargs={'pk': invoice.pk}) self.client.login(username='******', password='******') response = self.client.post(url) redirect_url = reverse('sponsoring_detail', kwargs={'pk': invoice.sponsoring.pk}) self.assertRedirects(response, redirect_url, target_status_code=302) self.assertContainsMessage(response, INVOICE_SET_PARTIAL_PAYMENT_MESSAGE) invoice.sponsoring.refresh_from_db() self.assertEqual(invoice.sponsoring.state, SPONSOR_STATE_PARTIALLY_PAID)
def test_organizer_can_add_invoice_affect(self): invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) invoice.invoice_ok = True invoice.save() url = reverse('sponsoring_invoice_affect_create', kwargs={'pk': invoice.pk}) self.client.login(username='******', password='******') data = { 'amount': '1000', 'category': 'Pay' } response = self.client.post(url, data) redirect_url = reverse('sponsoring_detail', kwargs={'pk': invoice.sponsoring.pk}) self.assertRedirects(response, redirect_url) invoice.sponsoring.refresh_from_db() self.assertEqual(invoice.sponsoring.state, SPONSOR_STATE_CHECKED)
def test_send_email_after_create_invoice_affect(self): create_organizer_set() associate_events_organizers() invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) invoice.invoice_ok = True invoice.save() url = reverse('sponsoring_invoice_affect_create', kwargs={'pk': invoice.pk}) # To complete the test we need, an event, an enabled sponsor, event_category self.client.login(username='******', password='******') data = { 'amount': '1000', 'category': 'Pay' } response = self.client.post(url, data) redirect_url = reverse('sponsoring_detail', kwargs={'pk': invoice.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/invoice_affect_just_created_subject.txt'))
def test_organizer_cant_set_partial_payment(self): invoice = create_sponsoring_invoice(auto_create_sponsoring_and_sponsor=True) url = reverse('invoice_set_partial_payment', kwargs={'pk': invoice.pk}) self.client.login(username='******', password='******') response = self.client.post(url) self.assertForbidden(response)