admin_object_manager_test.rb 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class AdminObjectManagerTest < TestCase
  4. def test_basic_a
  5. @browser = browser_instance
  6. login(
  7. username: 'master@example.com',
  8. password: 'test',
  9. url: browser_url,
  10. )
  11. tasks_close_all()
  12. # already existing
  13. object_manager_attribute_create(
  14. data: {
  15. name: 'customer_id',
  16. display: 'Customer Should Not Creatable',
  17. data_type: 'Text',
  18. },
  19. error: 'already exists'
  20. )
  21. # invalid name
  22. object_manager_attribute_create(
  23. data: {
  24. name: 'some_other_id',
  25. display: 'Should Not Creatable',
  26. data_type: 'Text',
  27. },
  28. error: 'are not allowed'
  29. )
  30. # invalid name
  31. object_manager_attribute_create(
  32. data: {
  33. name: 'some_other_ids',
  34. display: 'Should Not Creatable',
  35. data_type: 'Text',
  36. },
  37. error: 'are not allowed'
  38. )
  39. # invalid name
  40. object_manager_attribute_create(
  41. data: {
  42. name: 'some spaces',
  43. display: 'Should Not Creatable',
  44. data_type: 'Text',
  45. },
  46. error: 'are not allowed'
  47. )
  48. # valid name
  49. object_manager_attribute_create(
  50. data: {
  51. name: 'browser_test1',
  52. display: 'Browser Test 1',
  53. data_type: 'Text',
  54. },
  55. )
  56. watch_for(
  57. css: '#content',
  58. value: 'Database Update required',
  59. )
  60. click(css: '#content .tab-pane.active div.js-execute')
  61. watch_for(
  62. css: '.modal',
  63. value: 'restart',
  64. )
  65. watch_for_disappear(
  66. css: '.modal',
  67. timeout: 26,
  68. )
  69. sleep 5
  70. watch_for(
  71. css: '#content',
  72. )
  73. # create new ticket
  74. ticket = ticket_create(
  75. data: {
  76. customer: 'nico',
  77. group: 'Users',
  78. priority: '2 normal',
  79. state: 'open',
  80. title: 'ticket attribute test #1',
  81. body: 'ticket attribute test #1',
  82. },
  83. #custom_data_select: {
  84. # key1: 'some value',
  85. #},
  86. custom_data_input: {
  87. browser_test1: 'some value öäüß',
  88. },
  89. disable_group_check: true,
  90. )
  91. # update ticket
  92. ticket_update(
  93. data: {},
  94. #custom_data_select: {
  95. # key1: 'some value',
  96. #},
  97. custom_data_input: {
  98. browser_test1: 'some value ABC',
  99. },
  100. )
  101. # discard new attribute
  102. click(css: 'a[href="#manage"]')
  103. click(css: 'a[href="#system/object_manager"]')
  104. watch_for(
  105. css: '#content table',
  106. value: 'browser_test1',
  107. )
  108. match_not(
  109. css: '#content',
  110. value: 'Database Update required',
  111. )
  112. click(css: '#content .tab-pane.active table tbody tr:last-child .js-delete')
  113. sleep 4
  114. watch_for(
  115. css: '#content',
  116. value: 'Database Update required',
  117. )
  118. watch_for(
  119. css: '#content table',
  120. value: 'browser_test1',
  121. )
  122. click(css: '#content .tab-pane.active div.js-execute')
  123. watch_for(
  124. css: '.modal',
  125. value: 'restart',
  126. )
  127. watch_for_disappear(
  128. css: '.modal',
  129. timeout: 26,
  130. )
  131. sleep 5
  132. watch_for(
  133. css: '#content',
  134. )
  135. match_not(
  136. css: '#content',
  137. value: 'Database Update required',
  138. )
  139. match_not(
  140. css: '#content table',
  141. value: 'browser_test1',
  142. )
  143. end
  144. def test_basic_b
  145. @browser = browser_instance
  146. login(
  147. username: 'master@example.com',
  148. password: 'test',
  149. url: browser_url,
  150. )
  151. tasks_close_all()
  152. object_manager_attribute_create(
  153. data: {
  154. name: 'browser_test2',
  155. display: 'Browser Test 2',
  156. data_type: 'Select',
  157. data_option: {
  158. options: {
  159. 'aa' => 'AA',
  160. 'bb' => 'BB',
  161. },
  162. },
  163. },
  164. )
  165. sleep 10
  166. object_manager_attribute_discard_changes
  167. #object_manager_attribute_delete(
  168. # data: {
  169. # name: 'browser_test2',
  170. # },
  171. #)
  172. end
  173. end