test_ordering_providers.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. from django.urls import reverse
  2. from ....cache.test import assert_invalidates_cache
  3. from ... import SOCIALAUTH_CACHE
  4. def test_top_provider_can_be_moved_down(admin_client, provider, other_provider):
  5. provider.order = 0
  6. provider.save()
  7. other_provider.order = 1
  8. other_provider.save()
  9. admin_client.post(
  10. reverse("misago:admin:settings:socialauth:down", kwargs={"pk": provider.pk})
  11. )
  12. provider.refresh_from_db()
  13. assert provider.order == 1
  14. other_provider.refresh_from_db()
  15. assert other_provider.order == 0
  16. def test_top_provider_cant_be_moved_up(admin_client, provider, other_provider):
  17. provider.order = 0
  18. provider.save()
  19. other_provider.order = 1
  20. other_provider.save()
  21. admin_client.post(
  22. reverse("misago:admin:settings:socialauth:up", kwargs={"pk": provider.pk})
  23. )
  24. provider.refresh_from_db()
  25. assert provider.order == 0
  26. other_provider.refresh_from_db()
  27. assert other_provider.order == 1
  28. def test_bottom_provider_cant_be_moved_down(admin_client, provider, other_provider):
  29. provider.order = 1
  30. provider.save()
  31. other_provider.order = 0
  32. other_provider.save()
  33. admin_client.post(
  34. reverse("misago:admin:settings:socialauth:down", kwargs={"pk": provider.pk})
  35. )
  36. provider.refresh_from_db()
  37. assert provider.order == 1
  38. other_provider.refresh_from_db()
  39. assert other_provider.order == 0
  40. def test_bottom_provider_can_be_moved_up(admin_client, provider, other_provider):
  41. provider.order = 1
  42. provider.save()
  43. other_provider.order = 0
  44. other_provider.save()
  45. admin_client.post(
  46. reverse("misago:admin:settings:socialauth:up", kwargs={"pk": provider.pk})
  47. )
  48. provider.refresh_from_db()
  49. assert provider.order == 0
  50. other_provider.refresh_from_db()
  51. assert other_provider.order == 1
  52. def test_moving_provider_down_invalidates_providers_cache(
  53. admin_client, provider, other_provider
  54. ):
  55. provider.order = 0
  56. provider.save()
  57. other_provider.order = 1
  58. other_provider.save()
  59. with assert_invalidates_cache(SOCIALAUTH_CACHE):
  60. admin_client.post(
  61. reverse("misago:admin:settings:socialauth:down", kwargs={"pk": provider.pk})
  62. )
  63. def test_moving_provider_up_invalidates_providers_cache(
  64. admin_client, provider, other_provider
  65. ):
  66. provider.order = 1
  67. provider.save()
  68. other_provider.order = 0
  69. other_provider.save()
  70. with assert_invalidates_cache(SOCIALAUTH_CACHE):
  71. admin_client.post(
  72. reverse("misago:admin:settings:socialauth:up", kwargs={"pk": provider.pk})
  73. )
  74. def test_disabled_provider_cant_be_moved_down(
  75. admin_client, disabled_provider, provider
  76. ):
  77. provider.order = 1
  78. provider.save()
  79. disabled_provider.order = 0
  80. disabled_provider.save()
  81. admin_client.post(
  82. reverse(
  83. "misago:admin:settings:socialauth:down", kwargs={"pk": disabled_provider.pk}
  84. )
  85. )
  86. disabled_provider.refresh_from_db()
  87. assert disabled_provider.order == 0
  88. provider.refresh_from_db()
  89. assert provider.order == 1
  90. def test_disabled_provider_cant_be_moved_up(admin_client, disabled_provider, provider):
  91. provider.order = 0
  92. provider.save()
  93. disabled_provider.order = 1
  94. disabled_provider.save()
  95. admin_client.post(
  96. reverse(
  97. "misago:admin:settings:socialauth:up", kwargs={"pk": disabled_provider.pk}
  98. )
  99. )
  100. disabled_provider.refresh_from_db()
  101. assert disabled_provider.order == 1
  102. provider.refresh_from_db()
  103. assert provider.order == 0
  104. def test_moving_up_not_setup_provider_has_no_errors(admin_client):
  105. response = admin_client.post(
  106. reverse("misago:admin:settings:socialauth:up", kwargs={"pk": "facebook"})
  107. )
  108. assert response.status_code == 302
  109. def test_moving_down_not_setup_provider_has_no_errors(admin_client):
  110. response = admin_client.post(
  111. reverse("misago:admin:settings:socialauth:down", kwargs={"pk": "facebook"})
  112. )
  113. assert response.status_code == 302
  114. def test_moving_up_undefined_provider_has_no_errors(admin_client):
  115. response = admin_client.post(
  116. reverse("misago:admin:settings:socialauth:up", kwargs={"pk": "undefined"})
  117. )
  118. assert response.status_code == 302
  119. def test_moving_down_undefined_provider_has_no_errors(admin_client):
  120. response = admin_client.post(
  121. reverse("misago:admin:settings:socialauth:down", kwargs={"pk": "undefined"})
  122. )
  123. assert response.status_code == 302