Rename messages#delete to destroy

This is a better fit for rails controller method conventions, paving
the way to resourceful routing. Keep user-facing strings as 'delete'
since that's more commonly used.
This commit is contained in:
Andy Allan 2018-05-15 18:03:15 +08:00
parent 40cab845fb
commit 73df8447e3
8 changed files with 27 additions and 27 deletions

View file

@ -34,7 +34,7 @@ class MessagesControllerTest < ActionController::TestCase
)
assert_routing(
{ :path => "/message/delete/1", :method => :post },
{ :controller => "messages", :action => "delete", :message_id => "1" }
{ :controller => "messages", :action => "destroy", :message_id => "1" }
)
end
@ -421,52 +421,52 @@ class MessagesControllerTest < ActionController::TestCase
end
##
# test the delete action
def test_delete
# test the destroy action
def test_destroy
user = create(:user)
second_user = create(:user)
other_user = create(:user)
read_message = create(:message, :read, :recipient => user, :sender => second_user)
sent_message = create(:message, :unread, :recipient => second_user, :sender => user)
# Check that the deleting a message requires us to login
post :delete, :params => { :message_id => read_message.id }
# Check that destroying a message requires us to login
post :destroy, :params => { :message_id => read_message.id }
assert_response :forbidden
# Login as a user with no messages
session[:user] = other_user.id
# Check that deleting a message we didn't send or receive fails
post :delete, :params => { :message_id => read_message.id }
# Check that destroying a message we didn't send or receive fails
post :destroy, :params => { :message_id => read_message.id }
assert_response :not_found
assert_template "no_such_message"
# Login as the message recipient_user
session[:user] = user.id
# Check that the deleting a received message works
post :delete, :params => { :message_id => read_message.id }
# Check that the destroy a received message works
post :destroy, :params => { :message_id => read_message.id }
assert_redirected_to inbox_path(:display_name => user.display_name)
assert_equal "Message deleted", flash[:notice]
m = Message.find(read_message.id)
assert_equal true, m.from_user_visible
assert_equal false, m.to_user_visible
# Check that the deleting a sent message works
post :delete, :params => { :message_id => sent_message.id, :referer => outbox_path(:display_name => user.display_name) }
# Check that the destroying a sent message works
post :destroy, :params => { :message_id => sent_message.id, :referer => outbox_path(:display_name => user.display_name) }
assert_redirected_to outbox_path(:display_name => user.display_name)
assert_equal "Message deleted", flash[:notice]
m = Message.find(sent_message.id)
assert_equal false, m.from_user_visible
assert_equal true, m.to_user_visible
# Asking to delete a message with no ID should fail
# Asking to destroy a message with no ID should fail
assert_raise ActionController::UrlGenerationError do
post :delete
post :destroy
end
# Asking to delete a message with a bogus ID should fail
post :delete, :params => { :message_id => 99999 }
# Asking to destroy a message with a bogus ID should fail
post :destroy, :params => { :message_id => 99999 }
assert_response :not_found
assert_template "no_such_message"
end