trigger_spec.rb 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. require 'rails_helper'
  2. require 'system/examples/pagination_examples'
  3. RSpec.describe 'Manage > Trigger', type: :system do
  4. context 'Selector' do
  5. context 'custom attribute', db_strategy: :reset do
  6. it 'enables selection of multiple values for select attribute' do
  7. attribute = create_attribute :object_manager_attribute_select,
  8. data_option: {
  9. options: {
  10. 'name 1': 'name 1',
  11. 'name 2': 'name 2',
  12. },
  13. default: '',
  14. null: false,
  15. relation: '',
  16. maxlength: 255,
  17. nulloption: true,
  18. }
  19. visit '/#manage/trigger'
  20. click '.page-header-meta .btn--success'
  21. modal_ready
  22. within '.modal .ticket_selector' do
  23. find('.js-attributeSelector select').select(attribute.display)
  24. expect(find('.js-value select')).to be_multiple
  25. end
  26. end
  27. end
  28. it 'sets a customer email address with no @ character' do
  29. visit '/#manage/trigger'
  30. click '.page-header-meta .btn--success'
  31. modal_ready
  32. find(".js-attributeSelector select option[value='customer.email']").select_option
  33. fill_in 'condition::customer.email::value', with: 'zammad.com'
  34. fill_in 'Name', with: 'trigger 1'
  35. click '.js-submit'
  36. modal_disappear
  37. end
  38. end
  39. context 'Perform' do
  40. context 'Tags' do
  41. it 'shows tag selection list in foreground' do
  42. tag_item = create :tag_item
  43. visit '/#manage/trigger'
  44. click_on 'New Trigger'
  45. modal_ready
  46. within '.modal .ticket_perform_action' do
  47. find('.js-attributeSelector select').select('Tags')
  48. input = find('.js-value .token-input')
  49. input.fill_in with: tag_item.name.slice(0, 3)
  50. end
  51. expect(page).to have_css('.ui-autocomplete.ui-widget-content') { |elem| !elem.obscured? }
  52. end
  53. end
  54. end
  55. context 'ajax pagination' do
  56. include_examples 'pagination', model: :trigger, klass: Trigger, path: 'manage/trigger'
  57. end
  58. end