@@ -121,6 +121,8 @@ group :development do |
||
121 | 121 |
group :test do |
122 | 122 |
gem 'coveralls', require: false |
123 | 123 |
gem 'delorean' |
124 |
+ gem 'poltergeist' |
|
125 |
+ gem 'capybara-select2', require: false |
|
124 | 126 |
gem 'pry-rails' |
125 | 127 |
gem 'rr' |
126 | 128 |
gem 'rspec', '~> 3.2' |
@@ -131,7 +131,18 @@ GEM |
||
131 | 131 |
capistrano-rails (1.1.3) |
132 | 132 |
capistrano (~> 3.1) |
133 | 133 |
capistrano-bundler (~> 1.1) |
134 |
+ capybara (2.6.2) |
|
135 |
+ addressable |
|
136 |
+ mime-types (>= 1.16) |
|
137 |
+ nokogiri (>= 1.3.3) |
|
138 |
+ rack (>= 1.0.0) |
|
139 |
+ rack-test (>= 0.5.4) |
|
140 |
+ xpath (~> 2.0) |
|
141 |
+ capybara-select2 (1.0.1) |
|
142 |
+ capybara |
|
143 |
+ rspec |
|
134 | 144 |
chronic (0.10.2) |
145 |
+ cliver (0.3.2) |
|
135 | 146 |
coderay (1.1.0) |
136 | 147 |
coffee-rails (4.1.0) |
137 | 148 |
coffee-script (>= 2.2.0) |
@@ -358,6 +369,11 @@ GEM |
||
358 | 369 |
omniauth-oauth (~> 1.0) |
359 | 370 |
orm_adapter (0.5.0) |
360 | 371 |
pg (0.18.3) |
372 |
+ poltergeist (1.8.1) |
|
373 |
+ capybara (~> 2.1) |
|
374 |
+ cliver (~> 0.3.1) |
|
375 |
+ multi_json (~> 1.0) |
|
376 |
+ websocket-driver (>= 0.2.0) |
|
361 | 377 |
polyglot (0.3.5) |
362 | 378 |
protected_attributes (1.0.8) |
363 | 379 |
activemodel (>= 4.0.1, < 5.0) |
@@ -542,11 +558,16 @@ GEM |
||
542 | 558 |
webmock (1.17.4) |
543 | 559 |
addressable (>= 2.2.7) |
544 | 560 |
crack (>= 0.3.2) |
561 |
+ websocket-driver (0.6.3) |
|
562 |
+ websocket-extensions (>= 0.1.0) |
|
563 |
+ websocket-extensions (0.1.2) |
|
545 | 564 |
wunderground (1.2.0) |
546 | 565 |
addressable |
547 | 566 |
httparty (> 0.6.0) |
548 | 567 |
json (> 1.4.0) |
549 | 568 |
xmpp4r (0.5.6) |
569 |
+ xpath (2.0.0) |
|
570 |
+ nokogiri (~> 1.3) |
|
550 | 571 |
|
551 | 572 |
PLATFORMS |
552 | 573 |
ruby |
@@ -560,6 +581,7 @@ DEPENDENCIES |
||
560 | 581 |
capistrano (~> 3.4.0) |
561 | 582 |
capistrano-bundler (~> 1.1.4) |
562 | 583 |
capistrano-rails (~> 1.1) |
584 |
+ capybara-select2 |
|
563 | 585 |
coffee-rails (~> 4.1.0) |
564 | 586 |
coveralls |
565 | 587 |
daemons (~> 1.1.9) |
@@ -610,6 +632,7 @@ DEPENDENCIES |
||
610 | 632 |
omniauth-twitter |
611 | 633 |
omniauth-wunderlist! |
612 | 634 |
pg (~> 0.18.3) |
635 |
+ poltergeist |
|
613 | 636 |
protected_attributes (~> 1.0.8) |
614 | 637 |
pry-rails |
615 | 638 |
quiet_assets |
@@ -648,4 +671,4 @@ DEPENDENCIES |
||
648 | 671 |
xmpp4r (~> 0.5.6) |
649 | 672 |
|
650 | 673 |
BUNDLED WITH |
651 |
- 1.10.6 |
|
674 |
+ 1.11.2 |
@@ -0,0 +1,20 @@ |
||
1 |
+require 'rails_helper' |
|
2 |
+require 'capybara/rails' |
|
3 |
+require 'capybara/poltergeist' |
|
4 |
+require 'capybara-select2' |
|
5 |
+Capybara.javascript_driver = :poltergeist |
|
6 |
+ |
|
7 |
+RSpec.configure do |config| |
|
8 |
+ config.include Warden::Test::Helpers |
|
9 |
+ config.before :suite do |
|
10 |
+ Warden.test_mode! |
|
11 |
+ end |
|
12 |
+ |
|
13 |
+ config.after :each do |
|
14 |
+ Warden.test_reset! |
|
15 |
+ end |
|
16 |
+end |
|
17 |
+ |
|
18 |
+VCR.configure do |config| |
|
19 |
+ config.ignore_localhost = true |
|
20 |
+end |
@@ -0,0 +1,16 @@ |
||
1 |
+require 'capybara_helper' |
|
2 |
+ |
|
3 |
+describe "Creating a new agent", js: true do |
|
4 |
+ it "creates an agent" do |
|
5 |
+ login_as(users(:bob)) |
|
6 |
+ visit "/" |
|
7 |
+ page.find("a", text: "Agents").trigger(:mouseover) |
|
8 |
+ click_on("New Agent") |
|
9 |
+ |
|
10 |
+ select2("Trigger Agent", from: "Type") |
|
11 |
+ fill_in(:agent_name, with: "Test Trigger Agent") |
|
12 |
+ click_on "Save" |
|
13 |
+ |
|
14 |
+ expect(page).to have_text("Test Trigger Agent") |
|
15 |
+ end |
|
16 |
+end |