X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/08cbe099b8b62c2f48d2ff9865716c7d52ec22d2..7538e73c6e0b33485bcaa42718232badecdf9e90:/src/paypal/tests.py diff --git a/src/paypal/tests.py b/src/paypal/tests.py index e38fd8476..7de047af6 100644 --- a/src/paypal/tests.py +++ b/src/paypal/tests.py @@ -1,9 +1,8 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django.contrib.auth.models import User -from mock import MagicMock, Mock, patch, DEFAULT +from unittest.mock import MagicMock, Mock, patch, DEFAULT from catalogue.test_utils import WLTestCase from .models import BillingAgreement, BillingPlan from .rest import user_is_subscribed @@ -167,11 +166,15 @@ class PaypalTests(WLTestCase): self.client.login(username='test', password='test') BillingPlan.objects.create(amount=100) response = self.client.get('/paypal/app-return/?token=secret-token') - self.assertRedirects(response, 'wolnelekturyapp://paypal_return') + self.assertRedirects( + response, 'wolnelekturyapp://paypal_return', + fetch_redirect_response=False) # Repeated returns will not generate further agreements. response = self.client.get('/paypal/app-return/?token=secret-token') - self.assertRedirects(response, 'wolnelekturyapp://paypal_return') + self.assertRedirects( + response, 'wolnelekturyapp://paypal_return', + fetch_redirect_response=False) self.assertEqual(BillingAgreement.objects.all().count(), 1) self.assertTrue(user_is_subscribed(self.user)) @@ -185,7 +188,9 @@ class PaypalTests(WLTestCase): execute=Mock(return_value=Mock(id=None)))): self.client.get('/paypal/app-return/?token=secret-token') response = self.client.get('/paypal/app-return/?token=secret-token') - self.assertRedirects(response, 'wolnelekturyapp://paypal_error') + self.assertRedirects( + response, 'wolnelekturyapp://paypal_error', + fetch_redirect_response=False) # No agreement created in our DB if not executed successfully. self.assertEqual(BillingAgreement.objects.all().count(), 0) @@ -195,7 +200,9 @@ class PaypalTests(WLTestCase): execute=BillingAgreementMock.execute, find=Mock(side_effect=ResourceNotFound(None)))): response = self.client.get('/paypal/app-return/?token=secret-token') - self.assertRedirects(response, 'wolnelekturyapp://paypal_return') + self.assertRedirects( + response, 'wolnelekturyapp://paypal_return', + fetch_redirect_response=False) # Now the agreement exists in our DB, but is not active. self.assertEqual([b.active for b in BillingAgreement.objects.all()], [False])