twitter_browser_test.rb 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. # encoding: utf-8
  2. require 'browser_test_helper'
  3. class TwitterBrowserTest < TestCase
  4. def test_add_config
  5. # app config
  6. if !ENV['TWITTER_CONSUMER_KEY']
  7. fail "ERROR: Need TWITTER_CONSUMER_KEY - hint TWITTER_CONSUMER_KEY='1234'"
  8. end
  9. consumer_key = ENV['TWITTER_CONSUMER_KEY']
  10. if !ENV['TWITTER_CONSUMER_SECRET']
  11. fail "ERROR: Need TWITTER_CONSUMER_SECRET - hint TWITTER_CONSUMER_SECRET='1234'"
  12. end
  13. consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
  14. if !ENV['TWITTER_USER_LOGIN']
  15. fail "ERROR: Need TWITTER_USER_LOGIN - hint TWITTER_USER_LOGIN='1234'"
  16. end
  17. twitter_user_loign = ENV['TWITTER_USER_LOGIN']
  18. if !ENV['TWITTER_USER_PW']
  19. fail "ERROR: Need TWITTER_USER_PW - hint TWITTER_USER_PW='1234'"
  20. end
  21. twitter_pw = ENV['TWITTER_USER_PW']
  22. @browser = browser_instance
  23. login(
  24. username: 'master@example.com',
  25. password: 'test',
  26. url: browser_url,
  27. auto_wizard: true,
  28. )
  29. tasks_close_all()
  30. click(css: 'a[href="#manage"]')
  31. click(css: 'a[href="#channels/twitter"]')
  32. click(css: '#content .js-configApp')
  33. sleep 2
  34. set(
  35. css: '#content .modal [name=consumer_key]',
  36. value: consumer_key,
  37. )
  38. set(
  39. css: '#content .modal [name=consumer_secret]',
  40. value: 'wrong',
  41. )
  42. click(css: '#content .modal .js-submit')
  43. watch_for(
  44. css: '#content .modal .alert',
  45. value: 'Authorization Required',
  46. )
  47. set(
  48. css: '#content .modal [name=consumer_secret]',
  49. value: consumer_secret,
  50. )
  51. click(css: '#content .modal .js-submit')
  52. watch_for_disappear(
  53. css: '#content .modal .alert',
  54. value: 'Authorization Required',
  55. )
  56. watch_for(
  57. css: '#content .js-new',
  58. value: 'add account',
  59. )
  60. click(css: '#content .js-configApp')
  61. set(
  62. css: '#content .modal [name=consumer_secret]',
  63. value: 'wrong',
  64. )
  65. click(css: '#content .modal .js-submit')
  66. watch_for(
  67. css: '#content .modal .alert',
  68. value: 'Authorization Required',
  69. )
  70. set(
  71. css: '#content .modal [name=consumer_secret]',
  72. value: consumer_secret,
  73. )
  74. click(css: '#content .modal .js-submit')
  75. watch_for_disappear(
  76. css: '#content .modal .alert',
  77. value: 'Authorization Required',
  78. )
  79. watch_for(
  80. css: '#content .js-new',
  81. value: 'add account',
  82. )
  83. click(css: '#content .js-new')
  84. sleep 10
  85. set(
  86. css: '#username_or_email',
  87. value: twitter_user_loign,
  88. )
  89. set(
  90. css: '#password',
  91. value: twitter_pw,
  92. )
  93. click(css: '#allow')
  94. #watch_for(
  95. # css: '.notice.callback',
  96. # value: 'Redirecting you back to the application',
  97. #)
  98. watch_for(
  99. css: '#content .modal',
  100. value: 'Search Terms',
  101. )
  102. click(css: '#content .modal .js-close')
  103. watch_for(
  104. css: '#content',
  105. value: 'Armin Theo',
  106. )
  107. exists(
  108. css: '#content .main .action:nth-child(1)'
  109. )
  110. exists_not(
  111. css: '#content .main .action:nth-child(2)'
  112. )
  113. # add account again
  114. click(css: '#content .js-new')
  115. sleep 10
  116. click(css: '#allow')
  117. watch_for(
  118. css: '#content .modal',
  119. value: 'Search Terms',
  120. )
  121. click(css: '#content .modal .js-close')
  122. watch_for(
  123. css: '#content',
  124. value: 'Armin Theo',
  125. )
  126. exists(
  127. css: '#content .main .action:nth-child(1)'
  128. )
  129. exists_not(
  130. css: '#content .main .action:nth-child(2)'
  131. )
  132. end
  133. end