diff --git a/config/settings/production.py b/config/settings/production.py index d47cc28..6ee6dbb 100644 --- a/config/settings/production.py +++ b/config/settings/production.py @@ -87,11 +87,13 @@ # https://anymail.readthedocs.io/en/stable/installation/#installing-anymail INSTALLED_APPS += ["anymail"] # https://docs.djangoproject.com/en/dev/ref/settings/#email-backend +# https://anymail.readthedocs.io/en/stable/esps/mailgun/ +EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" # https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference -# https://anymail.readthedocs.io/en/stable/esps/sendgrid/ -EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend" ANYMAIL = { - "SENDGRID_API_KEY": env("SENDGRID_API_KEY"), + "MAILGUN_API_KEY": env("MAILGUN_API_KEY"), + "MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"), + "MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"), } diff --git a/democrasite/webiscite/tests/test_views.py b/democrasite/webiscite/tests/test_views.py index e4b2a7b..15f7a8b 100644 --- a/democrasite/webiscite/tests/test_views.py +++ b/democrasite/webiscite/tests/test_views.py @@ -115,6 +115,13 @@ def test_view_response(self, bill: Bill, rf: RequestFactory): response = views.bill_detail_view(request, pk=bill.id) assert response.status_code == HTTPStatus.OK + def test_bill_retrieved(self, rf: RequestFactory): + bills = BillFactory.create_batch(5) + request = rf.get("/fake-url/") + request.user = AnonymousUser() + response = views.bill_detail_view(request, pk=bills[3].id) + assert response.status_code == HTTPStatus.OK + def test_404(self, rf: RequestFactory): request = rf.get("/fake-url/") request.user = AnonymousUser() diff --git a/democrasite/webiscite/views.py b/democrasite/webiscite/views.py index 02a3157..55f543d 100644 --- a/democrasite/webiscite/views.py +++ b/democrasite/webiscite/views.py @@ -100,7 +100,7 @@ def get_object(self, queryset=None): return get_object_or_404( Bill.objects.annotate_user_vote(self.request.user), pk=pk ) - return get_object_or_404(Bill) + return get_object_or_404(Bill, pk=pk) bill_detail_view = BillDetailView.as_view()