lentil 0.9.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -6
- data/app/assets/javascripts/active_admin.js +11 -0
- data/app/assets/javascripts/active_admin.js.coffee +1 -0
- data/app/assets/javascripts/lentil/addfancybox.js +5 -4
- data/app/assets/javascripts/lentil/buttonhandler.js +8 -0
- data/app/assets/javascripts/lentil/imageerrors.js +2 -0
- data/app/assets/javascripts/lentil/images.js +0 -1
- data/app/assets/javascripts/lentil.js +3 -0
- data/app/assets/stylesheets/{active_admin.css.scss → active_admin.scss} +0 -0
- data/app/assets/stylesheets/admin/{moderation.css.scss → moderation.scss} +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/_components.scss +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/_config.scss +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/_framework.scss +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/_structure.scss +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/config.rb +0 -0
- data/app/assets/stylesheets/lentil/breakpoint/sass/style.scss +0 -0
- data/app/assets/stylesheets/lentil/{iframe.css.scss → iframe.scss} +0 -0
- data/app/assets/stylesheets/lentil/{image_animation.css.scss → image_animation.scss} +0 -0
- data/app/assets/stylesheets/lentil/{images.css.scss → images.scss} +0 -0
- data/app/assets/stylesheets/lentil/{thisorthat.css.scss → thisorthat.scss} +0 -0
- data/app/assets/stylesheets/{lentil.css.scss → lentil.scss} +2 -1
- data/app/controllers/lentil/application_controller.rb +6 -1
- data/app/controllers/lentil/images_controller.rb +1 -0
- data/app/controllers/lentil/photographers_controller.rb +2 -2
- data/app/controllers/lentil/thisorthat_controller.rb +2 -2
- data/app/models/lentil/admin_user.rb +0 -4
- data/app/models/lentil/battle.rb +0 -2
- data/app/models/lentil/flag.rb +0 -1
- data/app/models/lentil/image.rb +7 -7
- data/app/models/lentil/license.rb +0 -2
- data/app/models/lentil/licensing.rb +0 -1
- data/app/models/lentil/like_vote.rb +0 -1
- data/app/models/lentil/service.rb +0 -2
- data/app/models/lentil/tag.rb +6 -7
- data/app/models/lentil/tagging.rb +0 -2
- data/app/models/lentil/tagset.rb +0 -3
- data/app/models/lentil/tagset_assignment.rb +0 -2
- data/app/models/lentil/user.rb +0 -2
- data/app/views/lentil/images/_flagging_modal.html.erb +2 -2
- data/app/views/lentil/thisorthat/_battle_form.html.erb +6 -6
- data/lib/generators/lentil/install_generator.rb +33 -4
- data/lib/generators/lentil/templates/README.md +7 -11
- data/lib/generators/lentil/upgrade_v1_generator.rb +54 -0
- data/lib/lentil/admin/admin_user.rb +27 -17
- data/lib/lentil/admin/images.rb +30 -9
- data/lib/lentil/admin/tags.rb +4 -0
- data/lib/lentil/admin/tagsets.rb +16 -1
- data/lib/lentil/version.rb +1 -1
- data/lib/lentil.rb +5 -2
- data/test/dummy/README.rdoc +15 -248
- data/test/dummy/Rakefile +0 -1
- data/test/dummy/app/{mailers/.gitkeep → assets/images/.keep} +0 -0
- data/test/dummy/app/assets/javascripts/application.js +4 -6
- data/test/dummy/app/controllers/application_controller.rb +3 -1
- data/test/dummy/app/{models/.gitkeep → controllers/concerns/.keep} +0 -0
- data/test/dummy/app/{views/layouts/.gitkeep → mailers/.keep} +0 -0
- data/test/dummy/{lib/assets/.gitkeep → app/models/.keep} +0 -0
- data/test/dummy/{log/.gitkeep → app/models/concerns/.keep} +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +9 -39
- data/test/dummy/config/boot.rb +4 -9
- data/test/dummy/config/database.yml +3 -1
- data/test/dummy/config/environment.rb +2 -2
- data/test/dummy/config/environments/development.rb +21 -17
- data/test/dummy/config/environments/production.rb +45 -33
- data/test/dummy/config/environments/test.rb +20 -12
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/formtastic.rb +2 -0
- data/test/dummy/config/initializers/inflections.rb +6 -5
- data/test/dummy/config/initializers/mime_types.rb +0 -1
- data/test/dummy/config/initializers/session_store.rb +0 -5
- data/test/dummy/config/initializers/wrap_parameters.rb +6 -6
- data/test/dummy/config/locales/devise.en.yml +60 -0
- data/test/dummy/config/locales/en.yml +20 -2
- data/test/dummy/config/routes.rb +2 -2
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/schema.rb +120 -120
- data/test/dummy/db/seeds.rb +2 -1
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/dummy/public/404.html +54 -13
- data/test/dummy/public/422.html +54 -13
- data/test/dummy/public/500.html +53 -12
- data/test/dummy/test/fixtures +1 -0
- data/test/functional/admin/flags_controller_test.rb +2 -2
- data/test/functional/admin/images_controller_test.rb +8 -8
- data/test/functional/admin/tags_controller_test.rb +2 -2
- data/test/functional/admin/tagsets_controller_test.rb +3 -3
- data/test/functional/admin/users_controller_test.rb +2 -2
- data/test/functional/lentil/flags_controller_test.rb +3 -2
- data/test/functional/lentil/images_controller_test.rb +14 -10
- data/test/functional/lentil/like_votes_controller_test.rb +3 -2
- data/test/functional/lentil/photographers_controller_test.rb +6 -2
- data/test/functional/lentil/thisorthat_controller_test.rb +5 -1
- data/test/integration/lentil/javascript/event_tracking_test.rb +3 -2
- data/test/integration/lentil/thisorthat_test.rb +1 -1
- data/test/test_helper.rb +30 -17
- data/test/unit/lentil/user_test.rb +1 -1
- data/test/vcr_cassettes/instagram_bad_image_check.yml +0 -0
- data/test/vcr_cassettes/instagram_by_tag.yml +0 -0
- data/test/vcr_cassettes/instagram_by_tag_damaged.yml +0 -0
- data/test/vcr_cassettes/instagram_good_image_check.yml +0 -0
- data/test/vcr_cassettes/instagram_image_harvest.yml +0 -0
- data/test/vcr_cassettes/instagram_image_id.yml +0 -0
- data/test/vcr_cassettes/instagram_oembed.yml +0 -0
- data/vendor/assets/javascripts/animatedimages/css/demo.css +177 -177
- data/vendor/assets/javascripts/animatedimages/css/fallback.css +0 -0
- data/vendor/assets/javascripts/animatedimages/css/style.css +0 -0
- data/vendor/assets/javascripts/animatedimages/images/bg.jpg +0 -0
- data/vendor/assets/javascripts/animatedimages/images/light.png +0 -0
- data/vendor/assets/javascripts/animatedimages/images/loading.gif +0 -0
- data/vendor/assets/javascripts/html5historyapi/README.md +0 -0
- data/vendor/assets/javascripts/html5historyapi/component.json +0 -0
- data/vendor/assets/javascripts/html5historyapi/history.iegte8.js +0 -0
- data/vendor/assets/javascripts/html5historyapi/history.iegte8.min.js +0 -0
- data/vendor/assets/javascripts/html5historyapi/history.js +0 -0
- data/vendor/assets/javascripts/html5historyapi/history.min.js +0 -0
- data/vendor/assets/javascripts/html5historyapi/readme.en.txt +0 -0
- data/vendor/assets/javascripts/html5historyapi/readme.ru.txt +0 -0
- data/vendor/assets/javascripts/infinitescroll/Readme.md +0 -0
- data/vendor/assets/javascripts/infinitescroll/ajax-loader.gif +0 -0
- data/vendor/assets/javascripts/infinitescroll/behaviors/cufon.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/behaviors/local.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/behaviors/manual-trigger.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/behaviors/masonry-isotope.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/behaviors/sausage.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/jquery.infinitescroll.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/package.json +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/anivers_regular.otf +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/buttons.psd +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/logo.psd +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/mobius-strip2.ai +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/pattern.psd +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/selector spots.psd +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/assets/sites.psd +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/buttons.png +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/infinite-scroll-pattern.gif +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/logo.jpg +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/screens.jpg +0 -0
- data/vendor/assets/javascripts/infinitescroll/site/selectors.jpg +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/debug.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/index.html +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/index2.html +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/index3.html +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/jquery-1.6.1.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/mobile.html +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/mobile2.json +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/mobile3.json +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/mobile4.json +0 -0
- data/vendor/assets/javascripts/infinitescroll/test/style.css +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/img/ajax-loader.gif +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/admin.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/options.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/presets.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/includes/submit.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/infinite-scroll.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/admin/infinite-scoll.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/admin/infinite-scroll.dev.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/js/front-end/jquery.infinitescroll.js +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/languages/infinite-scroll.pot +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/license.html +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/readme.md +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/readme.txt +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-1.png +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-2.png +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/screenshot-3.png +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/footer.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/manage-presets.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/options.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/preset-prompt.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/submit-prompt.php +0 -0
- data/vendor/assets/javascripts/infinitescroll/wordpress-plugin/templates/submit.php +0 -0
- data/vendor/assets/javascripts/touchswipe/README.md +0 -0
- data/vendor/assets/javascripts/touchswipe/jquery.touchSwipe.js +0 -0
- metadata +85 -96
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/script/rails +0 -6
@@ -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
|
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)
|
17
|
+
get :show, :id => lentil_tagsets(:one)
|
18
18
|
assert_response :success
|
19
19
|
end
|
20
20
|
|
21
|
-
end
|
21
|
+
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
|
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
|
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
|
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
|
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
|
20
|
+
get :recent
|
17
21
|
assert_response :success
|
18
22
|
end
|
19
23
|
|
20
24
|
test "should get popular" do
|
21
|
-
get :popular
|
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
|
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, :
|
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, :
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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]
|
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
|
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'
|
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("
|
7
|
-
require
|
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/
|
11
|
+
require 'webmock/minitest'
|
12
12
|
require 'database_cleaner'
|
13
|
-
require 'capybara
|
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
|
-
|
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 '
|
59
|
+
click_on 'Login'
|
60
|
+
true
|
53
61
|
end
|
54
62
|
|
55
63
|
def browser_start
|
56
|
-
Capybara.current_driver = :
|
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
|
65
|
-
page.driver.
|
72
|
+
def console_messages
|
73
|
+
page.driver.phantomjs_logger.string.split
|
66
74
|
end
|
67
75
|
|
68
|
-
def
|
69
|
-
|
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
|
-
|
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
|