diff options
| -rw-r--r-- | users/app/controllers/v1/messages_controller.rb | 5 | ||||
| -rw-r--r-- | users/test/functional/v1/messages_controller_test.rb | 12 | 
2 files changed, 13 insertions, 4 deletions
| diff --git a/users/app/controllers/v1/messages_controller.rb b/users/app/controllers/v1/messages_controller.rb index fa98042..d49b161 100644 --- a/users/app/controllers/v1/messages_controller.rb +++ b/users/app/controllers/v1/messages_controller.rb @@ -10,14 +10,13 @@ module V1        render json: (user ? user.messages : [] )      end -      # routes ensure this is only for PUT      def mark_read        user_message = UserMessage.find_by_user_id_and_message_id([params[:user_id], params[:message_id]]) -      user_message.seen = true +      user_message.seen = true if user_message        # TODO what to return? -      if user_message.save +      if user_message and user_message.save          render json: true        else          render json: false diff --git a/users/test/functional/v1/messages_controller_test.rb b/users/test/functional/v1/messages_controller_test.rb index de2182b..7bffa8f 100644 --- a/users/test/functional/v1/messages_controller_test.rb +++ b/users/test/functional/v1/messages_controller_test.rb @@ -1,6 +1,5 @@  require 'test_helper' -  class V1::MessagesControllerTest < ActionController::TestCase    #TODO ensure authentication for all tests here @@ -31,6 +30,7 @@ class V1::MessagesControllerTest < ActionController::TestCase      put :mark_read, :user_id => @user.id, :message_id => @message.id      @user_message.reload      assert @user_message.seen +    assert_json_response true    end    test "do not get seen messages" do @@ -41,4 +41,14 @@ class V1::MessagesControllerTest < ActionController::TestCase      assert !(response.body.include? @message.id)    end +  test "empty messages for non-existing user" do +    get :user_messages, :user_id => 'some random string' +    assert_json_response [] +  end + +  test "mark read responds even with bad inputs" do +    put :mark_read, :user_id => 'nonsense', :message_id => 'more nonsense' +    assert_json_response false + end +  end | 
