From c7e66852324714a166dd35dc3d5873a0053dcb9b Mon Sep 17 00:00:00 2001 From: jessib Date: Tue, 7 Jan 2014 12:57:01 -0800 Subject: Some refactoring, to simplify user model, optimize, and allow messages to be sorted by date (although are not now.) Also, rather than use whenever gem, will have cron job created to call task. --- .../test/functional/v1/messages_controller_test.rb | 45 ++++++++++------------ 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'users/test/functional') diff --git a/users/test/functional/v1/messages_controller_test.rb b/users/test/functional/v1/messages_controller_test.rb index 0bc09be..24a5b1f 100644 --- a/users/test/functional/v1/messages_controller_test.rb +++ b/users/test/functional/v1/messages_controller_test.rb @@ -3,57 +3,54 @@ require 'test_helper' class V1::MessagesControllerTest < ActionController::TestCase setup do - @message = Message.new(:text => 'a test message') - @message.save @user = FactoryGirl.build(:user) - @user.message_ids_to_see << @message.id @user.save - login :is_admin? => true + @message = Message.new(:text => 'a test message') + @message.user_ids_to_show << @user.id + @message.save end teardown do - @user.destroy @message.destroy + @user.destroy end test "get messages for user" do - get :user_messages, :user_id => @user.id + login @user + get :index assert response.body.include? @message.text assert response.body.include? @message.id end test "mark message read for user" do - assert @user.message_ids_to_see.include?(@message.id) - assert !@user.message_ids_seen.include?(@message.id) - - put :mark_read, :user_id => @user.id, :message_id => @message.id - @user.reload - assert !@user.message_ids_to_see.include?(@message.id) - assert @user.message_ids_seen.include?(@message.id) + login @user + assert @message.user_ids_to_show.include?(@user.id) + assert !@message.user_ids_have_shown.include?(@user.id) + put :update, :id => @message.id + @message.reload + assert !@message.user_ids_to_show.include?(@user.id) + assert @message.user_ids_have_shown.include?(@user.id) assert_json_response true end test "do not get seen messages" do - put :mark_read, :user_id => @user.id, :message_id => @message.id - @user.reload - get :user_messages, :user_id => @user.id + login @user + put :update, :id => @message.id + @message.reload + get :index assert !(response.body.include? @message.text) 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' + login @user + put :update, :id => 'more nonsense' assert_json_response false end - test "fails if not admin" do - login :is_admin? => false - get :user_messages, :user_id => @user.id + test "fails if not authenticated" do + get :index, :format => :json assert_access_denied end -- cgit v1.2.3