admin_channel_email_test.rb 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class AdminChannelEmailTest < TestCase
  4. def test_account_add
  5. if !ENV['MAILBOX_INIT']
  6. #raise "Need MAILBOX_INIT as ENV variable like export MAILBOX_INIT='unittest01@znuny.com:somepass'"
  7. puts "NOTICE: Need MAILBOX_INIT as ENV variable like export MAILBOX_INIT='unittest01@znuny.com:somepass'"
  8. return
  9. end
  10. mailbox_user = ENV['MAILBOX_INIT'].split(':')[0]
  11. mailbox_password = ENV['MAILBOX_INIT'].split(':')[1]
  12. @browser = browser_instance
  13. login(
  14. username: 'master@example.com',
  15. password: 'test',
  16. url: browser_url,
  17. )
  18. tasks_close_all()
  19. click(css: 'a[href="#manage"]')
  20. click(css: 'a[href="#channels/email"]')
  21. click(css: '#content .js-channelNew')
  22. modal_ready()
  23. set(
  24. css: '.modal input[name="realname"]',
  25. value: 'My System',
  26. )
  27. set(
  28. css: '.modal input[name="email"]',
  29. value: mailbox_user,
  30. )
  31. set(
  32. css: '.modal input[name="password"]',
  33. value: mailbox_password,
  34. )
  35. select(
  36. css: '.modal select[name="group_id"]',
  37. value: 'Users',
  38. )
  39. click(css: '.modal button.js-submit')
  40. sleep 4
  41. watch_for(
  42. css: '.modal',
  43. value: '(already exists|unknown mailbox)',
  44. )
  45. click(css: '.modal .js-close')
  46. # delete all channels
  47. loop do
  48. break if !@browser.find_elements(css: '#content .js-channelDelete')[0]
  49. click(css: '#content .js-channelDelete')
  50. sleep 2
  51. click(css: '.modal .js-submit')
  52. sleep 2
  53. end
  54. # re-create
  55. click(css: '#content .js-channelNew')
  56. modal_ready()
  57. set(
  58. css: '.modal input[name="realname"]',
  59. value: 'My System',
  60. )
  61. set(
  62. css: '.modal input[name="email"]',
  63. value: mailbox_user,
  64. )
  65. set(
  66. css: '.modal input[name="password"]',
  67. value: mailbox_password,
  68. )
  69. select(
  70. css: '.modal select[name="group_id"]',
  71. value: 'Users',
  72. )
  73. click(css: '.modal button.js-submit')
  74. sleep 2
  75. watch_for_disappear(
  76. css: '.modal',
  77. )
  78. sleep 2
  79. exists_not(css: '.modal')
  80. watch_for(
  81. css: '#content',
  82. value: mailbox_user,
  83. )
  84. # set invalid folder
  85. click(css: '#content .js-editInbound')
  86. modal_ready()
  87. set(
  88. css: '.modal input[name="options::folder"]',
  89. value: 'not_existing_folder',
  90. )
  91. click(css: '.modal .js-inbound button.js-submit')
  92. watch_for(
  93. css: '.modal',
  94. value: 'Mailbox doesn\'t exist',
  95. )
  96. end
  97. end