diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/factories.rb | 4 | ||||
-rw-r--r-- | test/functional/v1/messages_controller_test.rb | 4 | ||||
-rw-r--r-- | test/support/assert_responses.rb | 19 |
3 files changed, 23 insertions, 4 deletions
diff --git a/test/factories.rb b/test/factories.rb index a96d48c..e16c738 100644 --- a/test/factories.rb +++ b/test/factories.rb @@ -47,4 +47,8 @@ FactoryGirl.define do -----END PGP PUBLIC KEY BLOCK----- EOPGP end + + factory :message do + text Faker::Lorem.paragraph + end end diff --git a/test/functional/v1/messages_controller_test.rb b/test/functional/v1/messages_controller_test.rb index a50fded..6f7ea5d 100644 --- a/test/functional/v1/messages_controller_test.rb +++ b/test/functional/v1/messages_controller_test.rb @@ -30,7 +30,7 @@ class V1::MessagesControllerTest < ActionController::TestCase @message.reload assert !@message.user_ids_to_show.include?(@user.id) assert @message.user_ids_have_shown.include?(@user.id) - assert_json_response true + assert_success :marked_as_read end test "do not get seen messages" do @@ -46,7 +46,7 @@ class V1::MessagesControllerTest < ActionController::TestCase test "mark read responds even with bad inputs" do login @user put :update, :id => 'more nonsense' - assert_json_response false + assert_not_found end test "fails if not authenticated" do diff --git a/test/support/assert_responses.rb b/test/support/assert_responses.rb index 1c9d49d..7724fb4 100644 --- a/test/support/assert_responses.rb +++ b/test/support/assert_responses.rb @@ -20,6 +20,22 @@ module AssertResponses response end + def response_content + json_response || get_response.body + end + + def assert_success(message) + assert_response :success + assert_response_includes :success + assert_equal message.to_s, json_response[:success] if message.present? + end + + def assert_not_found + assert_response :not_found + assert_response_includes :error + assert_equal 'not_found', json_response[:error] + end + def assert_text_response(body = nil) assert_equal 'text/plain', content_type unless body.nil? @@ -45,8 +61,7 @@ module AssertResponses # checks for the presence of a key in a json response # or a string in a text response def assert_response_includes(string_or_key) - response = json_response || get_response.body - assert response.include?(string_or_key), + assert response_content.include?(string_or_key), "response should have included #{string_or_key}" end |