lentil 0.9.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -6
  3. data/app/assets/javascripts/active_admin.js +11 -0
  4. data/app/assets/javascripts/active_admin.js.coffee +1 -0
  5. data/app/assets/javascripts/lentil/addfancybox.js +5 -4
  6. data/app/assets/javascripts/lentil/buttonhandler.js +8 -0
  7. data/app/assets/javascripts/lentil/imageerrors.js +2 -0
  8. data/app/assets/javascripts/lentil/images.js +0 -1
  9. data/app/assets/javascripts/lentil.js +3 -0
  10. data/app/assets/stylesheets/{active_admin.css.scss → active_admin.scss} +0 -0
  11. data/app/assets/stylesheets/admin/{moderation.css.scss → moderation.scss} +0 -0
  12. data/app/assets/stylesheets/lentil/breakpoint/sass/_components.scss +0 -0
  13. data/app/assets/stylesheets/lentil/breakpoint/sass/_config.scss +0 -0
  14. data/app/assets/stylesheets/lentil/breakpoint/sass/_framework.scss +0 -0
  15. data/app/assets/stylesheets/lentil/breakpoint/sass/_structure.scss +0 -0
  16. data/app/assets/stylesheets/lentil/breakpoint/sass/config.rb +0 -0
  17. data/app/assets/stylesheets/lentil/breakpoint/sass/style.scss +0 -0
  18. data/app/assets/stylesheets/lentil/{iframe.css.scss → iframe.scss} +0 -0
  19. data/app/assets/stylesheets/lentil/{image_animation.css.scss → image_animation.scss} +0 -0
  20. data/app/assets/stylesheets/lentil/{images.css.scss → images.scss} +0 -0
  21. data/app/assets/stylesheets/lentil/{thisorthat.css.scss → thisorthat.scss} +0 -0
  22. data/app/assets/stylesheets/{lentil.css.scss → lentil.scss} +2 -1
  23. data/app/controllers/lentil/application_controller.rb +6 -1
  24. data/app/controllers/lentil/images_controller.rb +1 -0
  25. data/app/controllers/lentil/photographers_controller.rb +2 -2
  26. data/app/controllers/lentil/thisorthat_controller.rb +2 -2
  27. data/app/models/lentil/admin_user.rb +0 -4
  28. data/app/models/lentil/battle.rb +0 -2
  29. data/app/models/lentil/flag.rb +0 -1
  30. data/app/models/lentil/image.rb +7 -7
  31. data/app/models/lentil/license.rb +0 -2
  32. data/app/models/lentil/licensing.rb +0 -1
  33. data/app/models/lentil/like_vote.rb +0 -1
  34. data/app/models/lentil/service.rb +0 -2
  35. data/app/models/lentil/tag.rb +6 -7
  36. data/app/models/lentil/tagging.rb +0 -2
  37. data/app/models/lentil/tagset.rb +0 -3
  38. data/app/models/lentil/tagset_assignment.rb +0 -2
  39. data/app/models/lentil/user.rb +0 -2
  40. data/app/views/lentil/images/_flagging_modal.html.erb +2 -2
  41. data/app/views/lentil/thisorthat/_battle_form.html.erb +6 -6
  42. data/lib/generators/lentil/install_generator.rb +33 -4
  43. data/lib/generators/lentil/templates/README.md +7 -11
  44. data/lib/generators/lentil/upgrade_v1_generator.rb +54 -0
  45. data/lib/lentil/admin/admin_user.rb +27 -17
  46. data/lib/lentil/admin/images.rb +30 -9
  47. data/lib/lentil/admin/tags.rb +4 -0
  48. data/lib/lentil/admin/tagsets.rb +16 -1
  49. data/lib/lentil/version.rb +1 -1
  50. data/lib/lentil.rb +5 -2
  51. data/test/dummy/README.rdoc +15 -248
  52. data/test/dummy/Rakefile +0 -1
  53. data/test/dummy/app/{mailers/.gitkeep → assets/images/.keep} +0 -0
  54. data/test/dummy/app/assets/javascripts/application.js +4 -6
  55. data/test/dummy/app/controllers/application_controller.rb +3 -1
  56. data/test/dummy/app/{models/.gitkeep → controllers/concerns/.keep} +0 -0
  57. data/test/dummy/app/{views/layouts/.gitkeep → mailers/.keep} +0 -0
  58. data/test/dummy/{lib/assets/.gitkeep → app/models/.keep} +0 -0
  59. data/test/dummy/{log/.gitkeep → app/models/concerns/.keep} +0 -0
  60. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  61. data/test/dummy/config/application.rb +9 -39
  62. data/test/dummy/config/boot.rb +4 -9
  63. data/test/dummy/config/database.yml +3 -1
  64. data/test/dummy/config/environment.rb +2 -2
  65. data/test/dummy/config/environments/development.rb +21 -17
  66. data/test/dummy/config/environments/production.rb +45 -33
  67. data/test/dummy/config/environments/test.rb +20 -12
  68. data/test/dummy/config/initializers/assets.rb +11 -0
  69. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  70. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  71. data/test/dummy/config/initializers/formtastic.rb +2 -0
  72. data/test/dummy/config/initializers/inflections.rb +6 -5
  73. data/test/dummy/config/initializers/mime_types.rb +0 -1
  74. data/test/dummy/config/initializers/session_store.rb +0 -5
  75. data/test/dummy/config/initializers/wrap_parameters.rb +6 -6
  76. data/test/dummy/config/locales/devise.en.yml +60 -0
  77. data/test/dummy/config/locales/en.yml +20 -2
  78. data/test/dummy/config/routes.rb +2 -2
  79. data/test/dummy/config/secrets.yml +22 -0
  80. data/test/dummy/db/schema.rb +120 -120
  81. data/test/dummy/db/seeds.rb +2 -1
  82. data/test/dummy/lib/assets/.keep +0 -0
  83. data/test/dummy/log/.keep +0 -0
  84. data/test/dummy/public/404.html +54 -13
  85. data/test/dummy/public/422.html +54 -13
  86. data/test/dummy/public/500.html +53 -12
  87. data/test/dummy/test/fixtures +1 -0
  88. data/test/functional/admin/flags_controller_test.rb +2 -2
  89. data/test/functional/admin/images_controller_test.rb +8 -8
  90. data/test/functional/admin/tags_controller_test.rb +2 -2
  91. data/test/functional/admin/tagsets_controller_test.rb +3 -3
  92. data/test/functional/admin/users_controller_test.rb +2 -2
  93. data/test/functional/lentil/flags_controller_test.rb +3 -2
  94. data/test/functional/lentil/images_controller_test.rb +14 -10
  95. data/test/functional/lentil/like_votes_controller_test.rb +3 -2
  96. data/test/functional/lentil/photographers_controller_test.rb +6 -2
  97. data/test/functional/lentil/thisorthat_controller_test.rb +5 -1
  98. data/test/integration/lentil/javascript/event_tracking_test.rb +3 -2
  99. data/test/integration/lentil/thisorthat_test.rb +1 -1
  100. data/test/test_helper.rb +30 -17
  101. data/test/unit/lentil/user_test.rb +1 -1
  102. data/test/vcr_cassettes/instagram_bad_image_check.yml +0 -0
  103. data/test/vcr_cassettes/instagram_by_tag.yml +0 -0
  104. data/test/vcr_cassettes/instagram_by_tag_damaged.yml +0 -0
  105. data/test/vcr_cassettes/instagram_good_image_check.yml +0 -0
  106. data/test/vcr_cassettes/instagram_image_harvest.yml +0 -0
  107. data/test/vcr_cassettes/instagram_image_id.yml +0 -0
  108. data/test/vcr_cassettes/instagram_oembed.yml +0 -0
  109. data/vendor/assets/javascripts/animatedimages/css/demo.css +177 -177
  110. data/vendor/assets/javascripts/animatedimages/css/fallback.css +0 -0
  111. data/vendor/assets/javascripts/animatedimages/css/style.css +0 -0
  112. data/vendor/assets/javascripts/animatedimages/images/bg.jpg +0 -0
  113. data/vendor/assets/javascripts/animatedimages/images/light.png +0 -0
  114. data/vendor/assets/javascripts/animatedimages/images/loading.gif +0 -0
  115. data/vendor/assets/javascripts/html5historyapi/README.md +0 -0
  116. data/vendor/assets/javascripts/html5historyapi/component.json +0 -0
  117. data/vendor/assets/javascripts/html5historyapi/history.iegte8.js +0 -0
  118. data/vendor/assets/javascripts/html5historyapi/history.iegte8.min.js +0 -0
  119. data/vendor/assets/javascripts/html5historyapi/history.js +0 -0
  120. data/vendor/assets/javascripts/html5historyapi/history.min.js +0 -0
  121. data/vendor/assets/javascripts/html5historyapi/readme.en.txt +0 -0
  122. data/vendor/assets/javascripts/html5historyapi/readme.ru.txt +0 -0
  123. data/vendor/assets/javascripts/infinitescroll/Readme.md +0 -0
  124. data/vendor/assets/javascripts/infinitescroll/ajax-loader.gif +0 -0
  125. data/vendor/assets/javascripts/infinitescroll/behaviors/cufon.js +0 -0
  126. data/vendor/assets/javascripts/infinitescroll/behaviors/local.js +0 -0
  127. data/vendor/assets/javascripts/infinitescroll/behaviors/manual-trigger.js +0 -0
  128. data/vendor/assets/javascripts/infinitescroll/behaviors/masonry-isotope.js +0 -0
  129. data/vendor/assets/javascripts/infinitescroll/behaviors/sausage.js +0 -0
  130. data/vendor/assets/javascripts/infinitescroll/jquery.infinitescroll.js +0 -0
  131. data/vendor/assets/javascripts/infinitescroll/package.json +0 -0
  132. data/vendor/assets/javascripts/infinitescroll/site/assets/anivers_regular.otf +0 -0
  133. data/vendor/assets/javascripts/infinitescroll/site/assets/buttons.psd +0 -0
  134. data/vendor/assets/javascripts/infinitescroll/site/assets/logo.psd +0 -0
  135. data/vendor/assets/javascripts/infinitescroll/site/assets/mobius-strip2.ai +0 -0
  136. data/vendor/assets/javascripts/infinitescroll/site/assets/pattern.psd +0 -0
  137. data/vendor/assets/javascripts/infinitescroll/site/assets/selector spots.psd +0 -0
  138. data/vendor/assets/javascripts/infinitescroll/site/assets/sites.psd +0 -0
  139. data/vendor/assets/javascripts/infinitescroll/site/buttons.png +0 -0
  140. data/vendor/assets/javascripts/infinitescroll/site/infinite-scroll-pattern.gif +0 -0
  141. data/vendor/assets/javascripts/infinitescroll/site/logo.jpg +0 -0
  142. data/vendor/assets/javascripts/infinitescroll/site/screens.jpg +0 -0
  143. data/vendor/assets/javascripts/infinitescroll/site/selectors.jpg +0 -0
  144. data/vendor/assets/javascripts/infinitescroll/test/debug.js +0 -0
  145. data/vendor/assets/javascripts/infinitescroll/test/index.html +0 -0
  146. data/vendor/assets/javascripts/infinitescroll/test/index2.html +0 -0
  147. data/vendor/assets/javascripts/infinitescroll/test/index3.html +0 -0
  148. data/vendor/assets/javascripts/infinitescroll/test/jquery-1.6.1.js +0 -0
  149. data/vendor/assets/javascripts/infinitescroll/test/mobile.html +0 -0
  150. data/vendor/assets/javascripts/infinitescroll/test/mobile2.json +0 -0
  151. data/vendor/assets/javascripts/infinitescroll/test/mobile3.json +0 -0
  152. data/vendor/assets/javascripts/infinitescroll/test/mobile4.json +0 -0
  153. data/vendor/assets/javascripts/infinitescroll/test/style.css +0 -0
  154. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/img/ajax-loader.gif +0 -0
  155. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/admin.php +0 -0
  156. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/options.php +0 -0
  157. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/presets.php +0 -0
  158. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/submit.php +0 -0
  159. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/infinite-scroll.php +0 -0
  160. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/admin/infinite-scoll.js +0 -0
  161. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/admin/infinite-scroll.dev.js +0 -0
  162. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/front-end/jquery.infinitescroll.js +0 -0
  163. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/languages/infinite-scroll.pot +0 -0
  164. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/license.html +0 -0
  165. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/readme.md +0 -0
  166. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/readme.txt +0 -0
  167. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-1.png +0 -0
  168. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-2.png +0 -0
  169. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-3.png +0 -0
  170. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/footer.php +0 -0
  171. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/manage-presets.php +0 -0
  172. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/options.php +0 -0
  173. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/preset-prompt.php +0 -0
  174. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/submit-prompt.php +0 -0
  175. data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/submit.php +0 -0
  176. data/vendor/assets/javascripts/touchswipe/README.md +0 -0
  177. data/vendor/assets/javascripts/touchswipe/jquery.touchSwipe.js +0 -0
  178. metadata +85 -96
  179. data/test/dummy/config/initializers/secret_token.rb +0 -7
  180. data/test/dummy/script/rails +0 -6
@@ -9,8 +9,8 @@ class AdminTagsControllerTest < ActionController::TestCase
9
9
  end
10
10
 
11
11
  test "should get to images index" do
12
- get :index, :use_route => :lentil
12
+ get :index
13
13
  assert_response :success
14
14
  end
15
15
 
16
- end
16
+ end
@@ -9,13 +9,13 @@ class AdminTagsetsControllerTest < ActionController::TestCase
9
9
  end
10
10
 
11
11
  test "should get to tagset index" do
12
- get :index, :use_route => :lentil
12
+ get :index
13
13
  assert_response :success
14
14
  end
15
15
 
16
16
  test "should get to tagset show" do
17
- get :show, :id => lentil_tagsets(:one), :use_route => :lentil
17
+ get :show, :id => lentil_tagsets(:one)
18
18
  assert_response :success
19
19
  end
20
20
 
21
- end
21
+ end
@@ -9,8 +9,8 @@ class AdminUsersControllerTest < ActionController::TestCase
9
9
  end
10
10
 
11
11
  test "should get to images index" do
12
- get :index, :use_route => :lentil
12
+ get :index
13
13
  assert_response :success
14
14
  end
15
15
 
16
- end
16
+ end
@@ -4,15 +4,16 @@ class Lentil::FlagsControllerTest < ActionController::TestCase
4
4
 
5
5
  setup do
6
6
  @request.env['HTTP_REFERER'] = '/'
7
+ @routes = Lentil::Engine.routes
7
8
  end
8
9
 
9
10
  test "should post tally" do
10
- post :tally, :image_id => lentil_images(:one).id, :use_route => :lentil
11
+ post :tally, :image_id => lentil_images(:one).id
11
12
  assert_response 302
12
13
  end
13
14
 
14
15
  test "should save image id in session when posting a tally" do
15
- post :tally, :image_id => lentil_images(:one).id, :use_route => :lentil
16
+ post :tally, :image_id => lentil_images(:one).id
16
17
  assert session["flagged_images"].include?(lentil_images(:one).id.to_s)
17
18
  end
18
19
 
@@ -1,55 +1,59 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class Lentil::ImagesControllerTest < ActionController::TestCase
4
+ def setup
5
+ @routes = Lentil::Engine.routes
6
+ end
7
+
4
8
  test "should get index" do
5
- get :index, :use_route => :lentil
9
+ get :index
6
10
  assert_response :success
7
11
  assert assigns(:images)
8
12
  end
9
13
 
10
14
  test "should get show" do
11
- get :show, :id => lentil_images(:one).id, :use_route => :lentil
15
+ get :show, :id => lentil_images(:one).id
12
16
  assert_response :success
13
17
  end
14
18
 
15
19
  test "should get recent" do
16
- get :recent, :use_route => :lentil
20
+ get :recent
17
21
  assert_response :success
18
22
  end
19
23
 
20
24
  test "should get popular" do
21
- get :popular, :use_route => :lentil
25
+ get :popular
22
26
  assert_response :success
23
27
  end
24
28
 
25
29
  test "should get staff picks" do
26
- get :staff_picks, :use_route => :lentil
30
+ get :staff_picks
27
31
  assert_response :success
28
32
  assert_equal(lentil_images(:one), assigns(:images).first)
29
33
  end
30
34
 
31
35
  test "should get rss feed for index" do
32
- get :index, :use_route => :lentil, :format => :rss
36
+ get :index, :format => :rss
33
37
  assert_response :success
34
38
  end
35
39
 
36
40
  test "should get atom feed for index" do
37
- get :index, :use_route => :lentil, :format => :atom
41
+ get :index, :format => :atom
38
42
  assert_response :success
39
43
  end
40
44
 
41
45
  test "should get an animated view of all images" do
42
- get :animate, :use_route => :lentil
46
+ get :animate
43
47
  assert_response :success
44
48
  end
45
49
 
46
50
  test "should get an animated view of staff pick images" do
47
- get :staff_picks_animate, :use_route => :lentil
51
+ get :staff_picks_animate
48
52
  assert_response :success
49
53
  end
50
54
 
51
55
  test "should get a tiled view for iframe" do
52
- get :iframe, :use_route => :lentil
56
+ get :iframe
53
57
  assert_response :success
54
58
  end
55
59
 
@@ -4,15 +4,16 @@ class Lentil::LikeVotesControllerTest < ActionController::TestCase
4
4
 
5
5
  setup do
6
6
  @request.env['HTTP_REFERER'] = '/'
7
+ @routes = Lentil::Engine.routes
7
8
  end
8
9
 
9
10
  test "should post tally" do
10
- post :tally, :image_id => lentil_images(:one).id, :use_route => :lentil
11
+ post :tally, :image_id => lentil_images(:one).id
11
12
  assert_response 302
12
13
  end
13
14
 
14
15
  test "should save image id in session when posting a tally" do
15
- post :tally, :image_id => lentil_images(:one).id, :use_route => :lentil
16
+ post :tally, :image_id => lentil_images(:one).id
16
17
  assert session["liked_images"].include?(lentil_images(:one).id.to_s)
17
18
  end
18
19
 
@@ -1,13 +1,17 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class Lentil::PhotographersControllerTest < ActionController::TestCase
4
+ def setup
5
+ @routes = Lentil::Engine.routes
6
+ end
7
+
4
8
  test "should get index" do
5
- get :index, :use_route => :lentil
9
+ get :index
6
10
  assert_response :success
7
11
  end
8
12
 
9
13
  test "should get show view" do
10
- get :show, :id => lentil_users(:bd).id, :use_route => :lentil
14
+ get :show, :id => lentil_users(:bd).id
11
15
  assert_response :success
12
16
  end
13
17
 
@@ -1,8 +1,12 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class Lentil::ThisorthatControllerTest < ActionController::TestCase
4
+ def setup
5
+ @routes = Lentil::Engine.routes
6
+ end
7
+
4
8
  test "should get battle leaders" do
5
- get :battle_leaders, :use_route => :lentil
9
+ get :battle_leaders
6
10
  assert_response :success
7
11
  end
8
12
 
@@ -13,7 +13,7 @@ class EventTrackingTest < ActionDispatch::IntegrationTest
13
13
  test "should trigger an event for clicking on an image" do
14
14
  visit(lentil.images_path)
15
15
  find("#image_#{@image.id} a.fancybox").click
16
- assert_equal("_trackEvent,image,click,image_#{@image.id}", console_messages[-2][:message])
16
+ assert_equal("_trackEvent,image,click,image_#{@image.id}", console_messages[-2])
17
17
  assert_equal("_trackPageview,/lentil/images/#{@image.id}", console_message)
18
18
  end
19
19
 
@@ -46,10 +46,11 @@ class EventTrackingTest < ActionDispatch::IntegrationTest
46
46
  # end
47
47
 
48
48
  test "should trigger an event for liking and unliking an image" do
49
- visit lentil.image_path(@image)
49
+ visit(lentil.image_path(@image))
50
50
  find('.like-btn.initial-state', :visible => true).click
51
51
  assert_equal("_trackEvent,image_view,like,#{@image.id}", console_message)
52
52
  find('.like-btn.already-clicked', :visible => true).click
53
+ find('.like-btn.initial-state', :visible => true)
53
54
  assert_equal("_trackEvent,image_view,unlike,#{@image.id}", console_message)
54
55
  end
55
56
 
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  class ThisorthatTest < ActionDispatch::IntegrationTest
4
4
 
5
5
  test "should be able to pick winners" do
6
- VCR.use_cassette('battle_images', :record => :new_episodes) do
6
+ VCR.use_cassette('battle_images') do
7
7
  visit(lentil.thisorthat_battle_path)
8
8
 
9
9
  battle_images = all('form .battle-image-wrap')
data/test/test_helper.rb CHANGED
@@ -3,25 +3,22 @@ SimpleCov.start 'rails'
3
3
 
4
4
  ENV["RAILS_ENV"] = "test"
5
5
 
6
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
7
- require "rails/test_help"
6
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
7
+ require 'rails/test_help'
8
8
  require 'capybara/rails'
9
9
  require 'pry'
10
10
  require 'mocha/setup'
11
- require 'webmock/test_unit'
11
+ require 'webmock/minitest'
12
12
  require 'database_cleaner'
13
- require 'capybara-webkit'
13
+ require 'capybara/poltergeist'
14
14
 
15
15
  Rails.backtrace_cleaner.remove_silencers!
16
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
16
17
 
17
18
  # Load support files
18
19
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
19
20
 
20
- # Load fixtures from the engine
21
- if ActiveSupport::TestCase.method_defined?(:fixture_path=)
22
- ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
23
- end
24
- ActiveSupport::TestCase.fixtures :all
21
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
25
22
 
26
23
  # Transactional fixtures do not work with Selenium tests, because Capybara
27
24
  # uses a separate server thread, which the transactions would be hidden
@@ -31,7 +28,14 @@ DatabaseCleaner.strategy = :truncation
31
28
  if ActionDispatch::IntegrationTest.method_defined?(:fixture_path=)
32
29
  ActionDispatch::IntegrationTest.fixture_path = File.expand_path("../fixtures", __FILE__)
33
30
  end
31
+
32
+ # Load fixtures from the engine
33
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
34
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
35
+ end
36
+
34
37
  class ActionDispatch::IntegrationTest
38
+ fixtures :all
35
39
 
36
40
  # Make the Capybara DSL available in all integration tests
37
41
  include Capybara::DSL
@@ -40,20 +44,24 @@ class ActionDispatch::IntegrationTest
40
44
  self.use_transactional_fixtures = false
41
45
 
42
46
  def setup
47
+ Capybara.register_driver :poltergeist_with_logger do |app|
48
+ Capybara::Poltergeist::Driver.new(app, phantomjs_logger: StringIO.new)
49
+ end
50
+
43
51
  DatabaseCleaner.strategy = :truncation
44
52
  DatabaseCleaner.start
45
53
  end
46
54
 
47
55
  def login_admin_user
48
- user = lentil_admin_users(:one)
49
56
  visit admin_root_path
50
57
  fill_in 'Email', with: 'admin@example.com'
51
58
  fill_in 'Password', with: 'password'
52
- click_on 'Log in'
59
+ click_on 'Login'
60
+ true
53
61
  end
54
62
 
55
63
  def browser_start
56
- Capybara.current_driver = :webkit #_with_long_timeout
64
+ Capybara.current_driver = :poltergeist_with_logger
57
65
  Capybara.default_wait_time = 30
58
66
  end
59
67
 
@@ -61,17 +69,17 @@ class ActionDispatch::IntegrationTest
61
69
  Capybara.use_default_driver
62
70
  end
63
71
 
64
- def console_message
65
- page.driver.console_messages.last[:message]
72
+ def console_messages
73
+ page.driver.phantomjs_logger.string.split
66
74
  end
67
75
 
68
- def console_messages
69
- page.driver.console_messages
76
+ def console_message
77
+ self.console_messages.last
70
78
  end
71
79
 
72
80
  teardown do
73
- DatabaseCleaner.clean # Truncate the database
74
81
  Capybara.reset_sessions! # Forget the (simulated) browser state
82
+ DatabaseCleaner.clean # Truncate the database
75
83
  Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
76
84
  end
77
85
  end
@@ -79,6 +87,11 @@ end
79
87
  # For functional tests that require authentication
80
88
  class ActionController::TestCase
81
89
  include Devise::TestHelpers
90
+ fixtures :all
91
+ end
92
+
93
+ class ActiveSupport::TestCase
94
+ fixtures :all
82
95
  end
83
96
 
84
97
  require 'vcr'
@@ -23,7 +23,7 @@ class UserTest < ActiveSupport::TestCase
23
23
  test "username should be unique for a given service" do
24
24
  user = lentil_users(:jr)
25
25
 
26
- assert_false user.service.users.build(:user_name => user.user_name).valid?,
26
+ assert !user.service.users.build(:user_name => user.user_name).valid?,
27
27
  "username and service should collectively unique"
28
28
  assert lentil_services(:flickr).users.build(:user_name => user.user_name).valid?,
29
29
  "duplicate usernames are allowed if they are associated with different services"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes