Commit 1743cbf1d8f7fde1595c6b95a417f8a5e2f4d62c

Authored by Dmitriy Zaporozhets
1 parent c351b8a3

Update capybara to 2.1, poltergeist to master

@@ -167,7 +167,7 @@ group :development, :test do @@ -167,7 +167,7 @@ group :development, :test do
167 gem 'rb-inotify', require: linux_only('rb-inotify') 167 gem 'rb-inotify', require: linux_only('rb-inotify')
168 168
169 # PhantomJS driver for Capybara 169 # PhantomJS driver for Capybara
170 - gem 'poltergeist', '1.1.0' 170 + gem 'poltergeist', git: 'https://github.com/jonleighton/poltergeist.git', ref: '9645b52009e258921b860d3b7601d00008b22c45'
171 171
172 gem 'spork', '~> 1.0rc' 172 gem 'spork', '~> 1.0rc'
173 end 173 end
@@ -39,6 +39,16 @@ GIT @@ -39,6 +39,16 @@ GIT
39 stringex (~> 1.5.1) 39 stringex (~> 1.5.1)
40 useragent (~> 0.4.16) 40 useragent (~> 0.4.16)
41 41
  42 +GIT
  43 + remote: https://github.com/jonleighton/poltergeist.git
  44 + revision: 9645b52009e258921b860d3b7601d00008b22c45
  45 + ref: 9645b52009e258921b860d3b7601d00008b22c45
  46 + specs:
  47 + poltergeist (1.1.0)
  48 + capybara (~> 2.0, >= 2.0.1)
  49 + faye-websocket (~> 0.4, >= 0.4.4)
  50 + http_parser.rb (~> 0.5.3)
  51 +
42 GEM 52 GEM
43 remote: https://rubygems.org/ 53 remote: https://rubygems.org/
44 specs: 54 specs:
@@ -84,13 +94,12 @@ GEM @@ -84,13 +94,12 @@ GEM
84 bootstrap-sass (2.2.1.1) 94 bootstrap-sass (2.2.1.1)
85 sass (~> 3.2) 95 sass (~> 3.2)
86 builder (3.0.4) 96 builder (3.0.4)
87 - capybara (2.0.2) 97 + capybara (2.1.0)
88 mime-types (>= 1.16) 98 mime-types (>= 1.16)
89 nokogiri (>= 1.3.3) 99 nokogiri (>= 1.3.3)
90 rack (>= 1.0.0) 100 rack (>= 1.0.0)
91 rack-test (>= 0.5.4) 101 rack-test (>= 0.5.4)
92 - selenium-webdriver (~> 2.0)  
93 - xpath (~> 1.0.0) 102 + xpath (~> 2.0)
94 carrierwave (0.8.0) 103 carrierwave (0.8.0)
95 activemodel (>= 3.2.0) 104 activemodel (>= 3.2.0)
96 activesupport (>= 3.2.0) 105 activesupport (>= 3.2.0)
@@ -98,8 +107,6 @@ GEM @@ -98,8 +107,6 @@ GEM
98 facter (>= 1.6.12) 107 facter (>= 1.6.12)
99 timers (>= 1.0.0) 108 timers (>= 1.0.0)
100 charlock_holmes (0.6.9) 109 charlock_holmes (0.6.9)
101 - childprocess (0.3.8)  
102 - ffi (~> 1.0, >= 1.0.11)  
103 chosen-rails (0.9.8) 110 chosen-rails (0.9.8)
104 railties (~> 3.0) 111 railties (~> 3.0)
105 thor (~> 0.14) 112 thor (~> 0.14)
@@ -154,7 +161,7 @@ GEM @@ -154,7 +161,7 @@ GEM
154 faye-websocket (0.4.7) 161 faye-websocket (0.4.7)
155 eventmachine (>= 0.12.0) 162 eventmachine (>= 0.12.0)
156 ffaker (1.15.0) 163 ffaker (1.15.0)
157 - ffi (1.4.0) 164 + ffi (1.6.0)
158 font-awesome-sass-rails (3.0.0.1) 165 font-awesome-sass-rails (3.0.0.1)
159 railties (>= 3.1.1) 166 railties (>= 3.1.1)
160 sass-rails (>= 3.1.1) 167 sass-rails (>= 3.1.1)
@@ -218,7 +225,7 @@ GEM @@ -218,7 +225,7 @@ GEM
218 haml (>= 3.1, < 4.1) 225 haml (>= 3.1, < 4.1)
219 railties (>= 3.1, < 4.1) 226 railties (>= 3.1, < 4.1)
220 hashie (1.2.0) 227 hashie (1.2.0)
221 - hike (1.2.1) 228 + hike (1.2.2)
222 http_parser.rb (0.5.3) 229 http_parser.rb (0.5.3)
223 httparty (0.10.2) 230 httparty (0.10.2)
224 multi_json (~> 1.0) 231 multi_json (~> 1.0)
@@ -251,7 +258,7 @@ GEM @@ -251,7 +258,7 @@ GEM
251 mime-types (~> 1.16) 258 mime-types (~> 1.16)
252 treetop (~> 1.4.8) 259 treetop (~> 1.4.8)
253 method_source (0.8.1) 260 method_source (0.8.1)
254 - mime-types (1.21) 261 + mime-types (1.22)
255 modernizr (2.6.2) 262 modernizr (2.6.2)
256 sprockets (~> 2.0) 263 sprockets (~> 2.0)
257 multi_json (1.7.2) 264 multi_json (1.7.2)
@@ -260,7 +267,7 @@ GEM @@ -260,7 +267,7 @@ GEM
260 mustache (0.99.4) 267 mustache (0.99.4)
261 mysql2 (0.3.11) 268 mysql2 (0.3.11)
262 net-ldap (0.2.2) 269 net-ldap (0.2.2)
263 - nokogiri (1.5.6) 270 + nokogiri (1.5.9)
264 oauth (0.4.7) 271 oauth (0.4.7)
265 oauth2 (0.8.1) 272 oauth2 (0.8.1)
266 faraday (~> 0.8) 273 faraday (~> 0.8)
@@ -288,10 +295,6 @@ GEM @@ -288,10 +295,6 @@ GEM
288 omniauth-oauth (~> 1.0) 295 omniauth-oauth (~> 1.0)
289 orm_adapter (0.4.0) 296 orm_adapter (0.4.0)
290 pg (0.14.1) 297 pg (0.14.1)
291 - poltergeist (1.1.0)  
292 - capybara (~> 2.0, >= 2.0.1)  
293 - faye-websocket (~> 0.4, >= 0.4.4)  
294 - http_parser.rb (~> 0.5.3)  
295 polyglot (0.3.3) 298 polyglot (0.3.3)
296 posix-spawn (0.3.6) 299 posix-spawn (0.3.6)
297 pry (0.9.12) 300 pry (0.9.12)
@@ -393,7 +396,6 @@ GEM @@ -393,7 +396,6 @@ GEM
393 rspec-mocks (~> 2.13.0) 396 rspec-mocks (~> 2.13.0)
394 ruby-progressbar (1.0.2) 397 ruby-progressbar (1.0.2)
395 rubyntlm (0.1.1) 398 rubyntlm (0.1.1)
396 - rubyzip (0.9.9)  
397 sanitize (2.0.3) 399 sanitize (2.0.3)
398 nokogiri (>= 1.4.4, < 1.6) 400 nokogiri (>= 1.4.4, < 1.6)
399 sass (3.2.7) 401 sass (3.2.7)
@@ -410,11 +412,6 @@ GEM @@ -410,11 +412,6 @@ GEM
410 select2-rails (3.3.1) 412 select2-rails (3.3.1)
411 sass-rails (>= 3.2) 413 sass-rails (>= 3.2)
412 thor (~> 0.14) 414 thor (~> 0.14)
413 - selenium-webdriver (2.30.0)  
414 - childprocess (>= 0.2.5)  
415 - multi_json (~> 1.0)  
416 - rubyzip  
417 - websocket (~> 1.0.4)  
418 settingslogic (2.0.9) 415 settingslogic (2.0.9)
419 sexp_processor (4.2.0) 416 sexp_processor (4.2.0)
420 shoulda-matchers (1.3.0) 417 shoulda-matchers (1.3.0)
@@ -438,11 +435,11 @@ GEM @@ -438,11 +435,11 @@ GEM
438 temple (~> 0.5.5) 435 temple (~> 0.5.5)
439 tilt (~> 1.3.3) 436 tilt (~> 1.3.3)
440 slop (3.4.4) 437 slop (3.4.4)
441 - spinach (0.7.0)  
442 - colorize  
443 - gherkin-ruby (~> 0.2.0)  
444 - spinach-rails (0.2.0)  
445 - capybara (~> 2.0.0) 438 + spinach (0.8.1)
  439 + colorize (= 0.5.8)
  440 + gherkin-ruby (~> 0.2.1)
  441 + spinach-rails (0.1.7)
  442 + capybara (>= 1.0)
446 railties (>= 3) 443 railties (>= 3)
447 spinach (>= 0.4) 444 spinach (>= 0.4)
448 spork (1.0.0rc3) 445 spork (1.0.0rc3)
@@ -464,8 +461,8 @@ GEM @@ -464,8 +461,8 @@ GEM
464 daemons (>= 1.0.9) 461 daemons (>= 1.0.9)
465 eventmachine (>= 0.12.6) 462 eventmachine (>= 0.12.6)
466 rack (>= 1.0.0) 463 rack (>= 1.0.0)
467 - thor (0.18.0)  
468 - tilt (1.3.6) 464 + thor (0.18.1)
  465 + tilt (1.3.7)
469 timers (1.1.0) 466 timers (1.1.0)
470 treetop (1.4.12) 467 treetop (1.4.12)
471 polyglot 468 polyglot
@@ -483,8 +480,7 @@ GEM @@ -483,8 +480,7 @@ GEM
483 webmock (1.9.0) 480 webmock (1.9.0)
484 addressable (>= 2.2.7) 481 addressable (>= 2.2.7)
485 crack (>= 0.1.7) 482 crack (>= 0.1.7)
486 - websocket (1.0.7)  
487 - xpath (1.0.0) 483 + xpath (2.0.0)
488 nokogiri (~> 1.3) 484 nokogiri (~> 1.3)
489 yajl-ruby (1.1.0) 485 yajl-ruby (1.1.0)
490 486
@@ -544,7 +540,7 @@ DEPENDENCIES @@ -544,7 +540,7 @@ DEPENDENCIES
544 omniauth-google-oauth2 540 omniauth-google-oauth2
545 omniauth-twitter 541 omniauth-twitter
546 pg 542 pg
547 - poltergeist (= 1.1.0) 543 + poltergeist!
548 pry 544 pry
549 puma (~> 2.0.0.b7) 545 puma (~> 2.0.0.b7)
550 quiet_assets (~> 1.0.1) 546 quiet_assets (~> 1.0.1)
features/steps/project/project_merge_requests.rb
@@ -97,7 +97,7 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps @@ -97,7 +97,7 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps
97 end 97 end
98 98
99 And 'I leave a comment on the diff page' do 99 And 'I leave a comment on the diff page' do
100 - find("#4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185 .add-diff-note").click 100 + init_diff_note
101 101
102 within('.js-temp-notes-holder') do 102 within('.js-temp-notes-holder') do
103 fill_in "note_note", with: "One comment to rule them all" 103 fill_in "note_note", with: "One comment to rule them all"
@@ -106,7 +106,7 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps @@ -106,7 +106,7 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps
106 end 106 end
107 107
108 And 'I leave a comment like "Line is wrong" on line 185 of the first file' do 108 And 'I leave a comment like "Line is wrong" on line 185 of the first file' do
109 - find("#4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185 .add-diff-note").click 109 + init_diff_note
110 110
111 within(".js-temp-notes-holder") do 111 within(".js-temp-notes-holder") do
112 fill_in "note_note", with: "Line is wrong" 112 fill_in "note_note", with: "Line is wrong"
@@ -140,4 +140,8 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps @@ -140,4 +140,8 @@ class ProjectMergeRequests &lt; Spinach::FeatureSteps
140 def merge_request 140 def merge_request
141 @merge_request ||= MergeRequest.find_by_title!("Bug NS-05") 141 @merge_request ||= MergeRequest.find_by_title!("Bug NS-05")
142 end 142 end
  143 +
  144 + def init_diff_note
  145 + find('a[data-line-code="4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185"]').click
  146 + end
143 end 147 end
features/steps/shared/diff_note.rb
@@ -3,15 +3,13 @@ module SharedDiffNote @@ -3,15 +3,13 @@ module SharedDiffNote
3 3
4 Given 'I cancel the diff comment' do 4 Given 'I cancel the diff comment' do
5 within(".file") do 5 within(".file") do
6 - find(".js-close-discussion-note-form").trigger("click") 6 + find(".js-close-discussion-note-form").click
7 end 7 end
8 end 8 end
9 9
10 Given 'I delete a diff comment' do 10 Given 'I delete a diff comment' do
11 - sleep 1  
12 - within(".file") do  
13 - first(".js-note-delete").trigger("click")  
14 - end 11 + find('.note').hover
  12 + find(".js-note-delete").click
15 end 13 end
16 14
17 Given 'I haven\'t written any diff comment text' do 15 Given 'I haven\'t written any diff comment text' do
@@ -21,17 +19,16 @@ module SharedDiffNote @@ -21,17 +19,16 @@ module SharedDiffNote
21 end 19 end
22 20
23 Given 'I leave a diff comment like "Typo, please fix"' do 21 Given 'I leave a diff comment like "Typo, please fix"' do
24 - find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click") 22 + find('a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_29_14"]').click
25 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do 23 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do
26 fill_in "note[note]", with: "Typo, please fix" 24 fill_in "note[note]", with: "Typo, please fix"
27 - #click_button("Add Comment")  
28 find(".js-comment-button").trigger("click") 25 find(".js-comment-button").trigger("click")
29 sleep 0.05 26 sleep 0.05
30 end 27 end
31 end 28 end
32 29
33 Given 'I preview a diff comment text like "Should fix it :smile:"' do 30 Given 'I preview a diff comment text like "Should fix it :smile:"' do
34 - find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click") 31 + find('a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_29_14"]').click
35 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do 32 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do
36 fill_in "note[note]", with: "Should fix it :smile:" 33 fill_in "note[note]", with: "Should fix it :smile:"
37 find(".js-note-preview-button").trigger("click") 34 find(".js-note-preview-button").trigger("click")
@@ -39,7 +36,8 @@ module SharedDiffNote @@ -39,7 +36,8 @@ module SharedDiffNote
39 end 36 end
40 37
41 Given 'I preview another diff comment text like "DRY this up"' do 38 Given 'I preview another diff comment text like "DRY this up"' do
42 - find("#586fb7c4e1add2d4d24e27566ed7064680098646_57_41.line_holder .js-add-diff-note-button").trigger("click") 39 + find('a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_57_41"]').click
  40 +
43 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_57_41']") do 41 within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_57_41']") do
44 fill_in "note[note]", with: "DRY this up" 42 fill_in "note[note]", with: "DRY this up"
45 find(".js-note-preview-button").trigger("click") 43 find(".js-note-preview-button").trigger("click")
@@ -47,11 +45,11 @@ module SharedDiffNote @@ -47,11 +45,11 @@ module SharedDiffNote
47 end 45 end
48 46
49 Given 'I open a diff comment form' do 47 Given 'I open a diff comment form' do
50 - find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click") 48 + find('a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_29_14"]').click
51 end 49 end
52 50
53 Given 'I open another diff comment form' do 51 Given 'I open another diff comment form' do
54 - find("#586fb7c4e1add2d4d24e27566ed7064680098646_57_41.line_holder .js-add-diff-note-button").trigger("click") 52 + find('a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_57_41"]').click
55 end 53 end
56 54
57 Given 'I write a diff comment like ":-1: I don\'t like this"' do 55 Given 'I write a diff comment like ":-1: I don\'t like this"' do
features/steps/shared/note.rb
@@ -2,8 +2,8 @@ module SharedNote @@ -2,8 +2,8 @@ module SharedNote
2 include Spinach::DSL 2 include Spinach::DSL
3 3
4 Given 'I delete a comment' do 4 Given 'I delete a comment' do
5 - sleep 1  
6 - first(".js-note-delete").trigger("click") 5 + find('.note').hover
  6 + find(".js-note-delete").click
7 end 7 end
8 8
9 Given 'I haven\'t written any comment text' do 9 Given 'I haven\'t written any comment text' do
spec/routing/project_routing_spec.rb
@@ -308,6 +308,7 @@ end @@ -308,6 +308,7 @@ end
308 # DELETE /:project_id/team_members/:id(.:format) team_members#destroy 308 # DELETE /:project_id/team_members/:id(.:format) team_members#destroy
309 describe TeamMembersController, "routing" do 309 describe TeamMembersController, "routing" do
310 it_behaves_like "RESTful project resources" do 310 it_behaves_like "RESTful project resources" do
  311 + let(:actions) { [:new, :create, :update, :destroy] }
311 let(:controller) { 'team_members' } 312 let(:controller) { 'team_members' }
312 end 313 end
313 end 314 end