diff options
author | Azul <azul@riseup.net> | 2016-03-24 21:44:25 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-05-02 08:31:15 -0300 |
commit | bef4c747e8a6adbf485dc0f466dbee1d03eab9c0 (patch) | |
tree | 69127834d5ebb6a231765330fe1f2d229b3280f6 | |
parent | 7689ff40b24786c808a36e60801ab60ede89a106 (diff) |
test: use assert_error_response in functional test
This way the changed flash hash still is recognized.
Also changed the generic 'no_such_thing' i18n key to more specific 'no_such_user'.
The former is very hard to translate as the gender of thing may affect the translation of the 'no such' part.
-rw-r--r-- | config/locales/en/generic.en.yml | 2 | ||||
-rw-r--r-- | test/functional/users_controller_test.rb | 2 | ||||
-rw-r--r-- | test/support/assert_responses.rb | 11 |
3 files changed, 9 insertions, 6 deletions
diff --git a/config/locales/en/generic.en.yml b/config/locales/en/generic.en.yml index be62a40..617116f 100644 --- a/config/locales/en/generic.en.yml +++ b/config/locales/en/generic.en.yml @@ -21,7 +21,7 @@ en: example_email: 'user@domain.org' - no_such_thing: "No such %{thing}." + no_such_user: "No such user." create_thing: "Create %{thing}" overview: "Overview" diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index 7b24098..6029c83 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -67,8 +67,8 @@ class UsersControllerTest < ActionController::TestCase nonid = 'thisisnotanexistinguserid' login :is_admin? => true get :show, :id => nonid + assert_error_response :no_such_user assert_response :redirect - assert_equal({:alert => "No such user."}, flash.to_hash) assert_redirected_to users_path end diff --git a/test/support/assert_responses.rb b/test/support/assert_responses.rb index 98c9ad2..6a22642 100644 --- a/test/support/assert_responses.rb +++ b/test/support/assert_responses.rb @@ -71,15 +71,18 @@ module AssertResponses end def assert_login_required - assert_error_response :not_authorized_login, :unauthorized + assert_error_response :not_authorized_login, + status: :unauthorized end def assert_access_denied - assert_error_response :not_authorized, :forbidden + assert_error_response :not_authorized, + status: :forbidden end - def assert_error_response(key, status=nil) - message = I18n.t(key) + def assert_error_response(key, options = {}) + status=options.delete :status + message = I18n.t(key, options) if content_type == 'application/json' status ||= :unprocessable_entity assert_json_response('error' => key.to_s, 'message' => message) |