q_unit_spec.rb 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. require 'rails_helper'
  2. RSpec.describe 'QUnit', type: :system, authenticated_as: false, set_up: true, websocket: false do
  3. def q_unit_tests(test_name)
  4. visit "/tests_#{test_name}"
  5. yield if block_given?
  6. expect(page).to have_css('.result', text: 'Tests completed')
  7. expect(page).to have_css('.result .failed', text: '0')
  8. end
  9. def async_q_unit_tests(*args)
  10. q_unit_tests(*args) do
  11. wait(120, interval: 3).until_constant do
  12. page.has_css?('.total', wait: 0) ? find('.total').text : nil
  13. end
  14. end
  15. end
  16. it 'Core' do
  17. async_q_unit_tests('core')
  18. end
  19. it 'I18n' do
  20. async_q_unit_tests('i18n')
  21. end
  22. context 'UI' do
  23. it 'Base' do
  24. q_unit_tests('ui')
  25. end
  26. it 'Local storage' do
  27. q_unit_tests('local_storage')
  28. end
  29. it 'Model' do
  30. async_q_unit_tests('model')
  31. end
  32. it 'Model binding' do
  33. q_unit_tests('model_binding')
  34. end
  35. it 'Model UI' do
  36. if !ENV['CI']
  37. skip("Can't run locally because of dependence of special Timezone")
  38. end
  39. q_unit_tests('model_ui')
  40. end
  41. it 'Model Ticket' do
  42. q_unit_tests('model_ticket')
  43. end
  44. it 'Ticket selector' do
  45. q_unit_tests('ticket_selector')
  46. end
  47. it 'Image Service' do
  48. q_unit_tests('image_service')
  49. end
  50. end
  51. context 'Form' do
  52. it 'Base' do
  53. async_q_unit_tests('form')
  54. end
  55. it 'Trim' do
  56. q_unit_tests('form_trim')
  57. end
  58. it 'Find' do
  59. q_unit_tests('form_find')
  60. end
  61. it 'Timer' do
  62. q_unit_tests('form_timer')
  63. end
  64. it 'Color' do
  65. q_unit_tests('form_color')
  66. end
  67. it 'Extended' do
  68. q_unit_tests('form_extended')
  69. end
  70. it 'Searchable select' do
  71. q_unit_tests('form_searchable_select')
  72. end
  73. it 'Tree select' do
  74. q_unit_tests('form_tree_select')
  75. end
  76. it 'Column select' do
  77. q_unit_tests('form_column_select')
  78. end
  79. it 'Ticket perform action' do
  80. q_unit_tests('form_ticket_perform_action')
  81. end
  82. it 'Ticket macro' do
  83. q_unit_tests('ticket_macro')
  84. end
  85. it 'Validation' do
  86. q_unit_tests('form_validation')
  87. end
  88. it 'Skip rendering' do
  89. q_unit_tests('form_skip_rendering')
  90. end
  91. it 'SLA times' do
  92. q_unit_tests('form_sla_times')
  93. end
  94. it 'DateTime' do
  95. q_unit_tests('form_datetime')
  96. end
  97. end
  98. context 'Form AJAX', searchindex: true do
  99. before do
  100. configure_elasticsearch
  101. rebuild_searchindex
  102. end
  103. it 'autocompletion ajax' do
  104. async_q_unit_tests('form_autocompletion_ajax')
  105. end
  106. end
  107. context 'Table' do
  108. it 'Base' do
  109. q_unit_tests('table')
  110. end
  111. it 'Extended' do
  112. q_unit_tests('table_extended')
  113. end
  114. it 'HTML utils' do
  115. q_unit_tests('html_utils')
  116. end
  117. it 'Taskbar' do
  118. q_unit_tests('taskbar')
  119. end
  120. end
  121. context 'Knowlede Base Editor' do
  122. it 'Vdeo Embeding' do
  123. q_unit_tests('kb_video_embeding')
  124. end
  125. end
  126. end