setting_test.rb 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. require 'test_helper'
  2. class SettingTest < ActiveSupport::TestCase
  3. test 'basics' do
  4. Setting.create!(
  5. title: 'ABC API Token',
  6. name: 'abc_api_token',
  7. area: 'Integration::ABC',
  8. description: 'API Token for ABC to access ABC.',
  9. options: {
  10. form: [
  11. {
  12. display: '',
  13. null: false,
  14. name: 'abc_token',
  15. tag: 'input',
  16. },
  17. ],
  18. },
  19. state: 'abc',
  20. frontend: false
  21. )
  22. assert_equal(Setting.get('abc_api_token'), 'abc')
  23. assert(Setting.set('abc_api_token', 'new_abc'))
  24. assert_equal(Setting.get('abc_api_token'), 'new_abc')
  25. assert(Setting.reset('abc_api_token'))
  26. assert_equal(Setting.get('abc_api_token'), 'abc')
  27. end
  28. test 'cache reset via preferences' do
  29. Setting.create!(
  30. title: 'ABC API Token',
  31. name: 'abc_api_token',
  32. area: 'Integration::ABC',
  33. description: 'API Token for ABC to access ABC.',
  34. options: {
  35. form: [
  36. {
  37. display: '',
  38. null: false,
  39. name: 'abc_token',
  40. tag: 'input',
  41. },
  42. ],
  43. },
  44. state: '',
  45. preferences: {
  46. permission: ['admin.integration'],
  47. cache: ['abcGetVoipUsers'],
  48. },
  49. frontend: false
  50. )
  51. Cache.write('abcGetVoipUsers', { a: 1 })
  52. assert_equal(Cache.get('abcGetVoipUsers'), { a: 1 })
  53. Setting.set('abc_api_token', 'some_new_value')
  54. assert_nil(Cache.get('abcGetVoipUsers'))
  55. end
  56. end