Clear out Profile.next_report_date and Profile.next_nag_date when unsubscribing from reports.

This commit is contained in:
Pēteris Caune 2017-12-29 18:03:42 +02:00
parent ebbc898d02
commit fb17211320
2 changed files with 8 additions and 0 deletions

View File

@ -1,13 +1,16 @@
from datetime import timedelta as td
from django.core import signing
from django.utils.timezone import now
from hc.test import BaseTestCase
class UnsubscribeReportsTestCase(BaseTestCase):
def test_token_works(self):
self.profile.next_report_date = now()
self.profile.nag_period = td(hours=1)
self.profile.next_nag_date = now()
self.profile.save()
token = signing.Signer().sign("foo")
@ -17,7 +20,10 @@ class UnsubscribeReportsTestCase(BaseTestCase):
self.profile.refresh_from_db()
self.assertFalse(self.profile.reports_allowed)
self.assertIsNone(self.profile.next_report_date)
self.assertEqual(self.profile.nag_period.total_seconds(), 0)
self.assertIsNone(self.profile.next_nag_date)
def test_bad_token_gets_rejected(self):
url = "/accounts/unsubscribe_reports/alice/?token=invalid"

View File

@ -370,7 +370,9 @@ def unsubscribe_reports(request, username):
user = User.objects.get(username=username)
profile = Profile.objects.for_user(user)
profile.reports_allowed = False
profile.next_report_date = None
profile.nag_period = td()
profile.next_nag_date = None
profile.save()
return render(request, "accounts/unsubscribed.html")