diff options
author | jessib <jessib@riseup.net> | 2013-12-24 13:27:22 -0800 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-12-24 13:27:22 -0800 |
commit | 7f12c795207ac818bffac42aa581bf1165f9e424 (patch) | |
tree | 59dbe67df59793ec58a8b1521fe39caf9e37a712 | |
parent | e4390e2ee5b2df20038f12865db462cf1e208ee6 (diff) |
Catching some corner cases & new tests.
-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 |