test_required_agreement.py 2.7 KB

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