admin_object_manager_test.rb 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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: 'New Version',
  64. )
  65. click(css: '.modal button.js-submit')
  66. # create new ticket
  67. ticket = ticket_create(
  68. data: {
  69. customer: 'nico',
  70. group: 'Users',
  71. priority: '2 normal',
  72. state: 'open',
  73. title: 'ticket attribute test #1',
  74. body: 'ticket attribute test #1',
  75. },
  76. #custom_data_select: {
  77. # key1: 'some value',
  78. #},
  79. custom_data_input: {
  80. browser_test1: 'some value öäüß',
  81. },
  82. disable_group_check: true,
  83. )
  84. # update ticket
  85. ticket_update(
  86. data: {},
  87. #custom_data_select: {
  88. # key1: 'some value',
  89. #},
  90. custom_data_input: {
  91. browser_test1: 'some value ABC',
  92. },
  93. )
  94. # discard new attribute
  95. click(css: 'a[href="#manage"]')
  96. click(css: 'a[href="#system/object_manager"]')
  97. watch_for(
  98. css: '#content table',
  99. value: 'browser_test1',
  100. )
  101. match_not(
  102. css: '#content',
  103. value: 'Database Update required',
  104. )
  105. click(css: '#content .tab-pane.active table tbody tr:last-child .js-delete')
  106. sleep 4
  107. watch_for(
  108. css: '#content',
  109. value: 'Database Update required',
  110. )
  111. watch_for(
  112. css: '#content table',
  113. value: 'browser_test1',
  114. )
  115. click(css: '#content .tab-pane.active div.js-execute')
  116. watch_for(
  117. css: '.modal',
  118. value: 'New Version',
  119. )
  120. click(css: '.modal button.js-submit')
  121. sleep 5
  122. match_not(
  123. css: '#content',
  124. value: 'Database Update required',
  125. )
  126. match_not(
  127. css: '#content table',
  128. value: 'browser_test1',
  129. )
  130. end
  131. def test_basic_b
  132. @browser = browser_instance
  133. login(
  134. username: 'master@example.com',
  135. password: 'test',
  136. url: browser_url,
  137. )
  138. tasks_close_all()
  139. object_manager_attribute_create(
  140. data: {
  141. name: 'browser_test2',
  142. display: 'Browser Test 2',
  143. data_type: 'Select',
  144. data_option: {
  145. options: {
  146. 'aa' => 'AA',
  147. 'bb' => 'BB',
  148. },
  149. },
  150. },
  151. )
  152. sleep 10
  153. object_manager_attribute_discard_changes
  154. #object_manager_attribute_delete(
  155. # data: {
  156. # name: 'browser_test2',
  157. # },
  158. #)
  159. end
  160. end