Coverage for donate\tests.py: 47%

19 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-06-20 12:38 +0100

1import unittest 

2 

3from django.contrib.auth.models import User 

4from django.test import TestCase 

5from django.urls import reverse 

6 

7from donate.models import Payment 

8 

9 

10class DonateViewTests(TestCase): 

11 def setUp(self): 

12 self.user = User.objects.create_user(username='user', password='12345') 

13 

14 @unittest.skip("Skipping this test temporarily") 

15 def test_donate(self): 

16 self.client.login(username='user', password='12345') 

17 response = self.client.post('/donate/', 

18 {'first-name': 'John', 'last-name': 'Doe', 

19 'email': 'some@gsdf.sd', 

20 'custom-amount': 100, 'cause': 1, 

21 'stripeToken': 'token'}) 

22 # Проверяем, что статус ответа 302, что означает успешное завершение и перенаправление 

23 self.assertEqual(response.status_code, 302) 

24 # Проверяем, что перенаправление происходит на ожидаемую страницу 

25 self.assertEqual(response.url, reverse('history')) 

26 # Проверяем, что в базе данных создана новая транзакция 

27 self.assertEqual(Payment.objects.count(), 1) 

28 payment = Payment.objects.first() 

29 # Проверяем, что данные транзакции соответствуют отправленным данным 

30 self.assertEqual(payment.user, self.user) 

31 self.assertEqual(payment.donation.id, 1) 

32 self.assertEqual(payment.stripe_payment.amount, 100)