overview_test.rb 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. # encoding: utf-8
  2. require 'test_helper'
  3. class OverviewTest < ActiveSupport::TestCase
  4. test 'overview link' do
  5. UserInfo.current_user_id = 1
  6. overview = Overview.create!(
  7. name: 'Not Shown Admin 2',
  8. condition: {
  9. 'ticket.state_id' => {
  10. operator: 'is',
  11. value: [1, 2, 3],
  12. },
  13. },
  14. order: {
  15. by: 'created_at',
  16. direction: 'DESC',
  17. },
  18. view: {
  19. d: %w(title customer state created_at),
  20. s: %w(number title customer state created_at),
  21. m: %w(number title customer state created_at),
  22. view_mode_default: 's',
  23. },
  24. )
  25. assert_equal(overview.link, 'not_shown_admin_2')
  26. overview.destroy!
  27. overview = Overview.create!(
  28. name: 'My assigned Tickets',
  29. condition: {
  30. 'ticket.state_id' => {
  31. operator: 'is',
  32. value: [1, 2, 3],
  33. },
  34. },
  35. order: {
  36. by: 'created_at',
  37. direction: 'DESC',
  38. },
  39. view: {
  40. d: %w(title customer state created_at),
  41. s: %w(number title customer state created_at),
  42. m: %w(number title customer state created_at),
  43. view_mode_default: 's',
  44. },
  45. )
  46. assert_equal(overview.link, 'my_assigned_tickets')
  47. overview.destroy!
  48. overview = Overview.create!(
  49. name: 'Übersicht',
  50. condition: {
  51. 'ticket.state_id' => {
  52. operator: 'is',
  53. value: [1, 2, 3],
  54. },
  55. },
  56. order: {
  57. by: 'created_at',
  58. direction: 'DESC',
  59. },
  60. view: {
  61. d: %w(title customer state created_at),
  62. s: %w(number title customer state created_at),
  63. m: %w(number title customer state created_at),
  64. view_mode_default: 's',
  65. },
  66. )
  67. assert_equal(overview.link, 'ubersicht')
  68. overview.destroy!
  69. overview = Overview.create!(
  70. name: " Übersicht \n",
  71. condition: {
  72. 'ticket.state_id' => {
  73. operator: 'is',
  74. value: [1, 2, 3],
  75. },
  76. },
  77. order: {
  78. by: 'created_at',
  79. direction: 'DESC',
  80. },
  81. view: {
  82. d: %w(title customer state created_at),
  83. s: %w(number title customer state created_at),
  84. m: %w(number title customer state created_at),
  85. view_mode_default: 's',
  86. },
  87. )
  88. assert_equal(overview.link, 'ubersicht')
  89. overview.destroy!
  90. overview1 = Overview.create!(
  91. name: 'Meine Übersicht',
  92. condition: {
  93. 'ticket.state_id' => {
  94. operator: 'is',
  95. value: [1, 2, 3],
  96. },
  97. },
  98. order: {
  99. by: 'created_at',
  100. direction: 'DESC',
  101. },
  102. view: {
  103. d: %w(title customer state created_at),
  104. s: %w(number title customer state created_at),
  105. m: %w(number title customer state created_at),
  106. view_mode_default: 's',
  107. },
  108. )
  109. assert_equal(overview1.link, 'meine_ubersicht')
  110. overview2 = Overview.create!(
  111. name: 'Meine Übersicht',
  112. condition: {
  113. 'ticket.state_id' => {
  114. operator: 'is',
  115. value: [1, 2, 3],
  116. },
  117. },
  118. order: {
  119. by: 'created_at',
  120. direction: 'DESC',
  121. },
  122. view: {
  123. d: %w(title customer state created_at),
  124. s: %w(number title customer state created_at),
  125. m: %w(number title customer state created_at),
  126. view_mode_default: 's',
  127. },
  128. )
  129. assert(overview2.link.start_with?('meine_ubersicht'))
  130. assert_not_equal(overview1.link, overview2.link)
  131. overview1.destroy!
  132. overview2.destroy!
  133. overview = Overview.create!(
  134. name: 'Д дФ ф',
  135. condition: {
  136. 'ticket.state_id' => {
  137. operator: 'is',
  138. value: [1, 2, 3],
  139. },
  140. },
  141. order: {
  142. by: 'created_at',
  143. direction: 'DESC',
  144. },
  145. view: {
  146. d: %w(title customer state created_at),
  147. s: %w(number title customer state created_at),
  148. m: %w(number title customer state created_at),
  149. view_mode_default: 's',
  150. },
  151. )
  152. assert_match(/^\d{1,3}$/, overview.link)
  153. overview.destroy!
  154. overview = Overview.create!(
  155. name: ' Д дФ ф abc ',
  156. condition: {
  157. 'ticket.state_id' => {
  158. operator: 'is',
  159. value: [1, 2, 3],
  160. },
  161. },
  162. order: {
  163. by: 'created_at',
  164. direction: 'DESC',
  165. },
  166. view: {
  167. d: %w(title customer state created_at),
  168. s: %w(number title customer state created_at),
  169. m: %w(number title customer state created_at),
  170. view_mode_default: 's',
  171. },
  172. )
  173. assert_equal(overview.link, 'abc')
  174. overview.destroy!
  175. overview = Overview.create!(
  176. name: 'Übersicht',
  177. link: 'my_overview',
  178. condition: {
  179. 'ticket.state_id' => {
  180. operator: 'is',
  181. value: [1, 2, 3],
  182. },
  183. },
  184. order: {
  185. by: 'created_at',
  186. direction: 'DESC',
  187. },
  188. view: {
  189. d: %w(title customer state created_at),
  190. s: %w(number title customer state created_at),
  191. m: %w(number title customer state created_at),
  192. view_mode_default: 's',
  193. },
  194. )
  195. assert_equal(overview.link, 'my_overview')
  196. overview.name = 'Übersicht2'
  197. overview.link = 'my_overview2'
  198. overview.save!
  199. assert_equal(overview.link, 'my_overview2')
  200. overview.destroy!
  201. end
  202. end