test_required_agreement.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. from django.urls import reverse
  2. from ...users.test import AuthenticatedUserTestCase
  3. from ..models import Agreement
  4. class RequiredAgreementTests(AuthenticatedUserTestCase):
  5. def setUp(self):
  6. super().setUp()
  7. self.test_link = reverse("misago:index")
  8. Agreement.objects.invalidate_cache()
  9. def tearDown(self):
  10. Agreement.objects.invalidate_cache()
  11. def test_tos_link(self):
  12. Agreement.objects.create(
  13. type=Agreement.TYPE_TOS, link="https://test-agreement.com", is_active=True
  14. )
  15. response = self.client.get(self.test_link)
  16. self.assertEqual(response.status_code, 200)
  17. def test_tos_text(self):
  18. Agreement.objects.create(
  19. type=Agreement.TYPE_TOS, text="Lorem ipsum", is_active=True
  20. )
  21. response = self.client.get(self.test_link)
  22. self.assertEqual(response.status_code, 200)
  23. def test_tos_text_and_link(self):
  24. Agreement.objects.create(
  25. type=Agreement.TYPE_TOS,
  26. link="https://test-agreement.com",
  27. text="Lorem ipsum",
  28. is_active=True,
  29. )
  30. response = self.client.get(self.test_link)
  31. self.assertEqual(response.status_code, 200)
  32. def test_privacy_link(self):
  33. Agreement.objects.create(
  34. type=Agreement.TYPE_PRIVACY,
  35. link="https://test-agreement.com",
  36. is_active=True,
  37. )
  38. response = self.client.get(self.test_link)
  39. self.assertEqual(response.status_code, 200)
  40. def test_privacy_text(self):
  41. Agreement.objects.create(
  42. type=Agreement.TYPE_PRIVACY, text="Lorem ipsum", is_active=True
  43. )
  44. response = self.client.get(self.test_link)
  45. self.assertEqual(response.status_code, 200)
  46. def test_privacy_text_and_link(self):
  47. Agreement.objects.create(
  48. type=Agreement.TYPE_PRIVACY,
  49. link="https://test-agreement.com",
  50. text="Lorem ipsum",
  51. is_active=True,
  52. )
  53. response = self.client.get(self.test_link)
  54. self.assertEqual(response.status_code, 200)
  55. def test_both(self):
  56. Agreement.objects.create(
  57. type=Agreement.TYPE_TOS,
  58. link="https://test-agreement.com",
  59. text="Lorem ipsum",
  60. is_active=True,
  61. )
  62. Agreement.objects.create(
  63. type=Agreement.TYPE_PRIVACY,
  64. link="https://test-agreement.com",
  65. text="Lorem ipsum",
  66. is_active=True,
  67. )
  68. response = self.client.get(self.test_link)
  69. self.assertEqual(response.status_code, 200)