summaryrefslogtreecommitdiff
path: root/test/support
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2014-07-17 11:18:57 +0200
committerAzul <azul@leap.se>2014-07-17 11:18:57 +0200
commite8a3df62d14c8dd775811f4af885cf7e76d5d3f6 (patch)
tree99905fc826fbcdf0634be3b31945e6df8c7e7a1e /test/support
parentbb10a669e1129c662ba01f223bd5a0ee7f2a0344 (diff)
clean up error assertions in tests
We're not testing the redirects anymore. But the error messages should be pretty clear already. We can start testing redirects again once we redirect to different places for different actions.
Diffstat (limited to 'test/support')
-rw-r--r--test/support/api_integration_test.rb5
-rw-r--r--test/support/assert_responses.rb19
-rw-r--r--test/support/auth_test_helper.rb20
-rw-r--r--test/support/rack_test.rb11
4 files changed, 20 insertions, 35 deletions
diff --git a/test/support/api_integration_test.rb b/test/support/api_integration_test.rb
index ccf7066..bd10f11 100644
--- a/test/support/api_integration_test.rb
+++ b/test/support/api_integration_test.rb
@@ -14,11 +14,6 @@ class ApiIntegrationTest < ActionDispatch::IntegrationTest
@token.save
end
- def assert_login_required
- assert_equal 401, get_response.status
- assert_json_response error: I18n.t(:not_authorized_login)
- end
-
teardown do
if @user && @user.persisted?
Identity.destroy_all_for @user
diff --git a/test/support/assert_responses.rb b/test/support/assert_responses.rb
index 19c2768..1c9d49d 100644
--- a/test/support/assert_responses.rb
+++ b/test/support/assert_responses.rb
@@ -55,6 +55,25 @@ module AssertResponses
get_response.headers["Content-Disposition"]
end
+ def assert_login_required
+ assert_error_response :not_authorized_login, :unauthorized
+ end
+
+ def assert_access_denied
+ assert_error_response :not_authorized, :forbidden
+ end
+
+ def assert_error_response(key, status=nil)
+ message = I18n.t(key)
+ if content_type == 'application/json'
+ status ||= :unprocessable_entity
+ assert_json_response('error' => key.to_s, 'message' => message)
+ assert_response status
+ else
+ assert_equal({:alert => message}, flash.to_hash)
+ end
+ end
+
end
class ::ActionController::TestCase
diff --git a/test/support/auth_test_helper.rb b/test/support/auth_test_helper.rb
index 79d07d6..7af3341 100644
--- a/test/support/auth_test_helper.rb
+++ b/test/support/auth_test_helper.rb
@@ -19,26 +19,6 @@ module AuthTestHelper
return @current_user
end
- def assert_login_required
- assert_error_response :not_authorized_login, :unauthorized, login_url
- end
-
- def assert_access_denied
- assert_error_response :not_authorized, :forbidden, home_url
- end
-
- def assert_error_response(message, status=nil, redirect=nil)
- message = I18n.t(message) if message.is_a? Symbol
- if @response.content_type == 'application/json'
- status ||= :unprocessable_entity
- assert_json_response('error' => message)
- assert_response status
- else
- assert_equal({:alert => message}, flash.to_hash)
- assert_redirected_to redirect
- end
- end
-
def assert_access_granted
assert flash[:alert].blank?,
"expected to have access but there was a flash alert"
diff --git a/test/support/rack_test.rb b/test/support/rack_test.rb
index 83adf6c..2c9fa9a 100644
--- a/test/support/rack_test.rb
+++ b/test/support/rack_test.rb
@@ -3,6 +3,7 @@ require_relative 'assert_responses'
class RackTest < ActiveSupport::TestCase
include Rack::Test::Methods
include Warden::Test::Helpers
+ include AssertResponses
CONFIG_RU = (Rails.root + 'config.ru').to_s
OUTER_APP = Rack::Builder.parse_file(CONFIG_RU).first
@@ -11,16 +12,6 @@ class RackTest < ActiveSupport::TestCase
OUTER_APP
end
- def assert_access_denied
- assert_json_response('error' => I18n.t(:not_authorized))
- assert_response :forbidden
- end
-
- def assert_login_required
- assert_json_response('error' => I18n.t(:not_authorized_login))
- assert_response :unauthorized
- end
-
# inspired by rails 4
# -> actionpack/lib/action_dispatch/testing/assertions/response.rb
def assert_response(type, message = nil)