|
@@ -12,7 +12,26 @@ class DonationTests(DesecTestCase):
|
|
|
response = method(reverse('v1:donation'))
|
|
|
self.assertStatus(response, status.HTTP_405_METHOD_NOT_ALLOWED)
|
|
|
|
|
|
- def test_create_donation(self):
|
|
|
+ def test_create_donation_minimal(self):
|
|
|
+ url = reverse('v1:donation')
|
|
|
+ data = {
|
|
|
+ 'name': 'Name',
|
|
|
+ 'iban': 'DE89370400440532013000',
|
|
|
+ 'amount': 123.45,
|
|
|
+ }
|
|
|
+ response = self.client.post(url, data)
|
|
|
+ self.assertTrue(mail.outbox)
|
|
|
+ email_internal = str(mail.outbox[0].message())
|
|
|
+ direct_debit = str(mail.outbox[0].attachments[0][1])
|
|
|
+ self.assertStatus(response, status.HTTP_201_CREATED)
|
|
|
+ self.assertEqual(len(mail.outbox), 1)
|
|
|
+ self.assertEqual(response.data['iban'], data['iban'])
|
|
|
+ self.assertEqual(response.data['interval'], 0)
|
|
|
+ self.assertIn('ONDON1', response.data['mref'])
|
|
|
+ self.assertTrue('Name' in direct_debit)
|
|
|
+ self.assertTrue(data['iban'] in email_internal)
|
|
|
+
|
|
|
+ def test_create_donation_verbose(self):
|
|
|
url = reverse('v1:donation')
|
|
|
data = {
|
|
|
'name': 'Komplizierter Vörnämü-ßßß 马大为',
|
|
@@ -21,6 +40,7 @@ class DonationTests(DesecTestCase):
|
|
|
'amount': 123.45,
|
|
|
'message': 'hi there, thank you. Also, some random chars: ™ • ½ ¼ ¾ ⅓ ⅔ † ‡ µ ¢ £ € « » ♤ ♧ ♥ ♢ ¿ ',
|
|
|
'email': 'email@example.com',
|
|
|
+ 'interval': 3,
|
|
|
}
|
|
|
response = self.client.post(url, data)
|
|
|
self.assertTrue(mail.outbox)
|
|
@@ -29,5 +49,7 @@ class DonationTests(DesecTestCase):
|
|
|
self.assertStatus(response, status.HTTP_201_CREATED)
|
|
|
self.assertEqual(len(mail.outbox), 2)
|
|
|
self.assertEqual(response.data['iban'], data['iban'])
|
|
|
+ self.assertEqual(response.data['interval'], 3)
|
|
|
+ self.assertIn('ONDON1', response.data['mref'])
|
|
|
self.assertTrue('Komplizierter Vornamu' in direct_debit)
|
|
|
self.assertTrue(data['iban'] in email_internal)
|