45 lines
1.4 KiB
Ruby
45 lines
1.4 KiB
Ruby
|
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
|