test_ordering_menu_links.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. from django.urls import reverse
  2. from ....cache.test import assert_invalidates_cache
  3. from ... import MENU_LINKS_CACHE
  4. def test_top_menu_link_can_be_moved_down(admin_client, menu_link, other_menu_link):
  5. menu_link.order = 0
  6. menu_link.save()
  7. other_menu_link.order = 1
  8. other_menu_link.save()
  9. admin_client.post(
  10. reverse("misago:admin:settings:links:down", kwargs={"pk": menu_link.pk})
  11. )
  12. menu_link.refresh_from_db()
  13. assert menu_link.order == 1
  14. other_menu_link.refresh_from_db()
  15. assert other_menu_link.order == 0
  16. def test_top_menu_link_cant_be_moved_up(admin_client, menu_link, other_menu_link):
  17. menu_link.order = 0
  18. menu_link.save()
  19. other_menu_link.order = 1
  20. other_menu_link.save()
  21. admin_client.post(
  22. reverse("misago:admin:settings:links:up", kwargs={"pk": menu_link.pk})
  23. )
  24. menu_link.refresh_from_db()
  25. assert menu_link.order == 0
  26. other_menu_link.refresh_from_db()
  27. assert other_menu_link.order == 1
  28. def test_bottom_menu_link_cant_be_moved_down(admin_client, menu_link, other_menu_link):
  29. menu_link.order = 1
  30. menu_link.save()
  31. other_menu_link.order = 0
  32. other_menu_link.save()
  33. admin_client.post(
  34. reverse("misago:admin:settings:links:down", kwargs={"pk": menu_link.pk})
  35. )
  36. menu_link.refresh_from_db()
  37. assert menu_link.order == 1
  38. other_menu_link.refresh_from_db()
  39. assert other_menu_link.order == 0
  40. def test_bottom_menu_link_can_be_moved_up(admin_client, menu_link, other_menu_link):
  41. menu_link.order = 1
  42. menu_link.save()
  43. other_menu_link.order = 0
  44. other_menu_link.save()
  45. admin_client.post(
  46. reverse("misago:admin:settings:links:up", kwargs={"pk": menu_link.pk})
  47. )
  48. menu_link.refresh_from_db()
  49. assert menu_link.order == 0
  50. other_menu_link.refresh_from_db()
  51. assert other_menu_link.order == 1
  52. def test_moving_menu_link_down_invalidates_menu_links_cache(
  53. admin_client, menu_link, other_menu_link
  54. ):
  55. menu_link.order = 0
  56. menu_link.save()
  57. other_menu_link.order = 1
  58. other_menu_link.save()
  59. with assert_invalidates_cache(MENU_LINKS_CACHE):
  60. admin_client.post(
  61. reverse("misago:admin:settings:links:down", kwargs={"pk": menu_link.pk})
  62. )
  63. def test_moving_menu_link_up_invalidates_menu_links_cache(
  64. admin_client, menu_link, other_menu_link
  65. ):
  66. menu_link.order = 1
  67. menu_link.save()
  68. other_menu_link.order = 0
  69. other_menu_link.save()
  70. with assert_invalidates_cache(MENU_LINKS_CACHE):
  71. admin_client.post(
  72. reverse("misago:admin:settings:links:up", kwargs={"pk": menu_link.pk})
  73. )