Use resourceful destroy method for messages

This commit is contained in:
Andy Allan 2018-09-05 10:38:36 +08:00
parent 6027c42ee7
commit 5405dde6ec
6 changed files with 12 additions and 13 deletions

View file

@ -37,8 +37,8 @@ class MessagesControllerTest < ActionController::TestCase
{ :controller => "messages", :action => "reply", :message_id => "1" }
)
assert_routing(
{ :path => "/message/delete/1", :method => :post },
{ :controller => "messages", :action => "destroy", :message_id => "1" }
{ :path => "/messages/1", :method => :delete },
{ :controller => "messages", :action => "destroy", :id => "1" }
)
end
@ -429,14 +429,14 @@ class MessagesControllerTest < ActionController::TestCase
sent_message = create(:message, :unread, :recipient => second_user, :sender => user)
# Check that destroying a message requires us to login
post :destroy, :params => { :message_id => read_message.id }
delete :destroy, :params => { :id => read_message.id }
assert_response :forbidden
# Login as a user with no messages
session[:user] = other_user.id
# Check that destroying a message we didn't send or receive fails
post :destroy, :params => { :message_id => read_message.id }
delete :destroy, :params => { :id => read_message.id }
assert_response :not_found
assert_template "no_such_message"
@ -444,7 +444,7 @@ class MessagesControllerTest < ActionController::TestCase
session[:user] = user.id
# Check that the destroy a received message works
post :destroy, :params => { :message_id => read_message.id }
delete :destroy, :params => { :id => read_message.id }
assert_redirected_to inbox_messages_path
assert_equal "Message deleted", flash[:notice]
m = Message.find(read_message.id)
@ -452,7 +452,7 @@ class MessagesControllerTest < ActionController::TestCase
assert_equal false, m.to_user_visible
# Check that the destroying a sent message works
post :destroy, :params => { :message_id => sent_message.id, :referer => outbox_messages_path }
delete :destroy, :params => { :id => sent_message.id, :referer => outbox_messages_path }
assert_redirected_to outbox_messages_path
assert_equal "Message deleted", flash[:notice]
m = Message.find(sent_message.id)
@ -465,7 +465,7 @@ class MessagesControllerTest < ActionController::TestCase
end
# Asking to destroy a message with a bogus ID should fail
post :destroy, :params => { :message_id => 99999 }
delete :destroy, :params => { :id => 99999 }
assert_response :not_found
assert_template "no_such_message"
end