test_change_settings_form.py 729 B

123456789101112131415161718192021222324252627
  1. from django import forms
  2. from ....cache.test import assert_invalidates_cache
  3. from ... import SETTINGS_CACHE
  4. from ..forms import ChangeSettingsForm
  5. class Form(ChangeSettingsForm):
  6. settings = ["forum_name"]
  7. forum_name = forms.CharField(max_length=255)
  8. def test_form_updates_setting_on_save(setting):
  9. form = Form({"forum_name": "New Value"})
  10. assert form.is_valid()
  11. form.save({"forum_name": setting})
  12. setting.refresh_from_db()
  13. assert setting.value == "New Value"
  14. def test_form_invalidates_settings_cache_on_save(setting):
  15. with assert_invalidates_cache(SETTINGS_CACHE):
  16. form = Form({"forum_name": "New Value"})
  17. assert form.is_valid()
  18. form.save({"forum_name": setting})