admin_object_manager_test.rb 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class AdminObjectManagerTest < TestCase
  4. def test_basic
  5. name = "some overview #{rand(99_999_999)}"
  6. @browser = browser_instance
  7. login(
  8. username: 'master@example.com',
  9. password: 'test',
  10. url: browser_url,
  11. )
  12. tasks_close_all()
  13. click(css: 'a[href="#manage"]')
  14. click(css: 'a[href="#system/object_manager"]')
  15. click(css: '#content .js-new')
  16. modal_ready()
  17. # already existing
  18. set(
  19. css: '.modal input[name="name"]',
  20. value: 'customer_id',
  21. )
  22. set(
  23. css: '.modal input[name="display"]',
  24. value: 'Customer Should Not Creatable',
  25. )
  26. click(css: '.modal button.js-submit')
  27. sleep 4
  28. watch_for(
  29. css: '.modal',
  30. value: '(already exists)',
  31. )
  32. # invalid name
  33. set(
  34. css: '.modal input[name="name"]',
  35. value: 'some_other_id',
  36. )
  37. set(
  38. css: '.modal input[name="display"]',
  39. value: 'Should Not Creatable',
  40. )
  41. click(css: '.modal button.js-submit')
  42. sleep 4
  43. watch_for(
  44. css: '.modal',
  45. value: '(are not allowed)',
  46. )
  47. # invalid name
  48. set(
  49. css: '.modal input[name="name"]',
  50. value: 'some_other_ids',
  51. )
  52. set(
  53. css: '.modal input[name="display"]',
  54. value: 'Should Not Creatable',
  55. )
  56. click(css: '.modal button.js-submit')
  57. sleep 4
  58. watch_for(
  59. css: '.modal',
  60. value: '(are not allowed)',
  61. )
  62. # invalid name
  63. set(
  64. css: '.modal input[name="name"]',
  65. value: 'some spaces',
  66. )
  67. set(
  68. css: '.modal input[name="display"]',
  69. value: 'Should Not Creatable',
  70. )
  71. click(css: '.modal button.js-submit')
  72. sleep 4
  73. watch_for(
  74. css: '.modal',
  75. value: '(are not allowed)',
  76. )
  77. click(css: '.modal .js-close')
  78. modal_ready()
  79. # valid name
  80. click(css: '#content .js-new')
  81. modal_ready()
  82. set(
  83. css: '.modal input[name="name"]',
  84. value: 'browser_test1',
  85. )
  86. set(
  87. css: '.modal input[name="display"]',
  88. value: 'Browser Test 1',
  89. )
  90. click(css: '.modal button.js-submit')
  91. watch_for(
  92. css: '#content table',
  93. value: 'browser_test1',
  94. )
  95. watch_for(
  96. css: '#content',
  97. value: 'Database Update required',
  98. )
  99. click(css: '#content .tab-pane.active div.js-execute')
  100. watch_for(
  101. css: '.modal',
  102. value: 'New Version',
  103. )
  104. click(css: '.modal button.js-submit')
  105. # create new ticket
  106. # update ticket
  107. # discard new attribute
  108. watch_for(
  109. css: '#content table',
  110. value: 'browser_test1',
  111. )
  112. match_not(
  113. css: '#content',
  114. value: 'Database Update required',
  115. )
  116. click(css: '#content .tab-pane.active table tbody tr:last-child .js-delete')
  117. sleep 4
  118. watch_for(
  119. css: '#content',
  120. value: 'Database Update required',
  121. )
  122. watch_for(
  123. css: '#content table',
  124. value: 'browser_test1',
  125. )
  126. click(css: '#content .tab-pane.active div.js-execute')
  127. watch_for(
  128. css: '.modal',
  129. value: 'New Version',
  130. )
  131. click(css: '.modal button.js-submit')
  132. sleep 5
  133. match_not(
  134. css: '#content',
  135. value: 'Database Update required',
  136. )
  137. match_not(
  138. css: '#content table',
  139. value: 'browser_test1',
  140. )
  141. end
  142. end