Coverage for donate\tests.py: 47%
19 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-06-20 12:38 +0100
« prev ^ index » next coverage.py v7.4.4, created at 2024-06-20 12:38 +0100
1import unittest
3from django.contrib.auth.models import User
4from django.test import TestCase
5from django.urls import reverse
7from donate.models import Payment
10class DonateViewTests(TestCase):
11 def setUp(self):
12 self.user = User.objects.create_user(username='user', password='12345')
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)