diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-05-13 17:09:56 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-05-13 17:09:56 +0000 |
commit | b90e84b9fe252df464d084f0222c65367407a4ba (patch) | |
tree | 313fc54f0eb43ebb0d61f33b878c8b5e1af27052 /test | |
parent | 75582f80f85528865fa86d93ac57a44337742939 (diff) | |
download | redmine-b90e84b9fe252df464d084f0222c65367407a4ba.tar.gz redmine-b90e84b9fe252df464d084f0222c65367407a4ba.zip |
Per project forums added.
Permissions for forums management can be set in "Admin -> Roles & Permissions".
Forums can be created on the project settings screen ("Forums" tab).
Once a project has a forum, a "Forums" link appears in the project menu.
For now, posting messages in forums requires to be logged in. Files can be attached to messages.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@529 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r-- | test/fixtures/boards.yml | 19 | ||||
-rw-r--r-- | test/fixtures/messages.yml | 25 | ||||
-rw-r--r-- | test/unit/board_test.rb | 30 | ||||
-rw-r--r-- | test/unit/message_test.rb | 44 |
4 files changed, 118 insertions, 0 deletions
diff --git a/test/fixtures/boards.yml b/test/fixtures/boards.yml new file mode 100644 index 000000000..7f2944fac --- /dev/null +++ b/test/fixtures/boards.yml @@ -0,0 +1,19 @@ +---
+boards_001:
+ name: Help
+ project_id: 1
+ topics_count: 1
+ id: 1
+ description: Help board
+ position: 1
+ last_message_id: 2
+ messages_count: 2
+boards_002:
+ name: Discussion
+ project_id: 1
+ topics_count: 0
+ id: 2
+ description: Discussion board
+ position: 2
+ last_message_id:
+ messages_count: 0
diff --git a/test/fixtures/messages.yml b/test/fixtures/messages.yml new file mode 100644 index 000000000..88f54dbc2 --- /dev/null +++ b/test/fixtures/messages.yml @@ -0,0 +1,25 @@ +---
+messages_001:
+ created_on: 2007-05-12 17:15:32 +02:00
+ updated_on: 2007-05-12 17:15:32 +02:00
+ subject: First post
+ id: 1
+ replies_count: 1
+ last_reply_id: 2
+ content: "This is the very first post\n\
+ in the forum"
+ author_id: 1
+ parent_id:
+ board_id: 1
+messages_002:
+ created_on: 2007-05-12 17:18:00 +02:00
+ updated_on: 2007-05-12 17:18:00 +02:00
+ subject: First reply
+ id: 2
+ replies_count: 0
+ last_reply_id:
+ content: "Reply to the first post"
+ author_id: 1
+ parent_id: 1
+ board_id: 1
+
\ No newline at end of file diff --git a/test/unit/board_test.rb b/test/unit/board_test.rb new file mode 100644 index 000000000..3ba4b2d97 --- /dev/null +++ b/test/unit/board_test.rb @@ -0,0 +1,30 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class BoardTest < Test::Unit::TestCase + fixtures :projects, :boards, :messages + + def setup + @project = Project.find(1) + end + + def test_create + board = Board.new(:project => @project, :name => 'Test board', :description => 'Test board description') + assert board.save + board.reload + assert_equal 'Test board', board.name + assert_equal 'Test board description', board.description + assert_equal @project, board.project + assert_equal 0, board.topics_count + assert_equal 0, board.messages_count + assert_nil board.last_message + # last position + assert_equal @project.boards.size, board.position + end + + def test_destroy + board = Board.find(1) + assert board.destroy + # make sure that the associated messages are removed + assert_equal 0, Message.count(:conditions => {:board_id => 1}) + end +end diff --git a/test/unit/message_test.rb b/test/unit/message_test.rb new file mode 100644 index 000000000..6d8458bfc --- /dev/null +++ b/test/unit/message_test.rb @@ -0,0 +1,44 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class MessageTest < Test::Unit::TestCase + fixtures :projects, :boards, :messages + + 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 + end + + def test_reply + topics_count = @board.topics_count + messages_count = @board.messages_count + @message = Message.find(1) + replies_count = @message.replies_count + + reply = Message.new(:board => @board, :subject => 'Test reply', :content => 'Test reply content', :parent => @message, :author => @user) + 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 + end +end |