test_ordering_menu_links.py 2.7 KB

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