##// END OF EJS Templates
Converted routing and urls to follow the Rails REST convention....
Converted routing and urls to follow the Rails REST convention. Patch supplied by commits from Gerrit Kaiser on Github. Existing routes will still work (backwards compatible) but any new urls will be generated using the new routing rules. Changes listed below: * made the URLs for some project tabs and project settings follow the new rails RESTful conventions of /collection/:id/subcollection/:sub_id * prettier URL for project roadmap * more nice project URLs * use GET for filtering form * prettified URLs used on issues tab * custom route for activity atom feeds * prettier repository urls * fixed broken route definition * fixed failing tests for issuecontroller that were hardcoding the url string * more RESTful routes for boards and messages * RESTful routes for wiki pages * RESTful routes for documents * moved old routes that are retained for compatibility to the bottom and grouped them together * added RESTful URIs for issues * RESTfulness for the news section * fixed route order * changed hardcoded URLs in tests * fixed badly written tests * fixed forgotten parameter in routes * changed hardcoded URLS to new scheme * changed project add url to the standard POST to collection * create new issue by POSTing to collection * changed hardcoded URLs in integrations tests * made project add form work again * restful routes for project deletion * prettier routes for project (un)archival * made routes table more readable * fixed note quoting * user routing * fixed bug * always sort by GET * Fixed: cross-project issue list should not show issues of projects for which the issue tracking module was disabled. * prettified URLs used on issues tab * urls for time log * fixed reply routing * eliminate revision query paremeter for diff and entry actions * fixed test failures with hard-coded urls * ensure ajax links always use get * refactored ajax link generation into separate method #1901 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2317 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2017:7a05f8ed6691
r2315:765f7abc6033
Show More
message_test.rb
97 lines | 3.0 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Per project forums added....
r526 require File.dirname(__FILE__) + '/../test_helper'
class MessageTest < Test::Unit::TestCase
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017 fixtures :projects, :roles, :members, :boards, :messages, :users, :watchers
Jean-Philippe Lang
Per project forums added....
r526
def setup
@board = Board.find(1)
@user = User.find(1)
end
def test_create
topics_count = @board.topics_count
messages_count = @board.messages_count
message = Message.new(:board => @board, :subject => 'Test message', :content => 'Test message content', :author => @user)
assert message.save
@board.reload
# topics count incremented
assert_equal topics_count+1, @board[:topics_count]
# messages count incremented
assert_equal messages_count+1, @board[:messages_count]
assert_equal message, @board.last_message
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # author should be watching the message
assert message.watched_by?(@user)
Jean-Philippe Lang
Per project forums added....
r526 end
def test_reply
topics_count = @board.topics_count
messages_count = @board.messages_count
@message = Message.find(1)
replies_count = @message.replies_count
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 reply_author = User.find(2)
reply = Message.new(:board => @board, :subject => 'Test reply', :content => 'Test reply content', :parent => @message, :author => reply_author)
Jean-Philippe Lang
Per project forums added....
r526 assert reply.save
@board.reload
# same topics count
assert_equal topics_count, @board[:topics_count]
# messages count incremented
assert_equal messages_count+1, @board[:messages_count]
assert_equal reply, @board.last_message
@message.reload
# replies count incremented
assert_equal replies_count+1, @message[:replies_count]
assert_equal reply, @message.last_reply
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # author should be watching the message
assert @message.watched_by?(reply_author)
Jean-Philippe Lang
Per project forums added....
r526 end
Jean-Philippe Lang
Forums enhancements:...
r913
def test_destroy_topic
message = Message.find(1)
board = message.board
topics_count, messages_count = board.topics_count, board.messages_count
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876
assert_difference('Watcher.count', -1) do
assert message.destroy
end
Jean-Philippe Lang
Forums enhancements:...
r913 board.reload
# Replies deleted
assert Message.find_all_by_parent_id(1).empty?
# Checks counters
assert_equal topics_count - 1, board.topics_count
assert_equal messages_count - 3, board.messages_count
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # Watchers removed
Jean-Philippe Lang
Forums enhancements:...
r913 end
def test_destroy_reply
message = Message.find(5)
board = message.board
topics_count, messages_count = board.topics_count, board.messages_count
assert message.destroy
board.reload
# Checks counters
assert_equal topics_count, board.topics_count
assert_equal messages_count - 1, board.messages_count
end
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017
def test_editable_by
message = Message.find(6)
author = message.author
assert message.editable_by?(author)
author.role_for_project(message.project).remove_permission!(:edit_own_messages)
assert !message.reload.editable_by?(author.reload)
end
def test_destroyable_by
message = Message.find(6)
author = message.author
assert message.destroyable_by?(author)
author.role_for_project(message.project).remove_permission!(:delete_own_messages)
assert !message.reload.destroyable_by?(author.reload)
end
Jean-Philippe Lang
Per project forums added....
r526 end