comparison test/unit/message_test.rb @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children e248c7af89ec
comparison
equal deleted inserted replaced
1297:0a574315af3e 1298:4f746d8966dd
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang 2 # Copyright (C) 2006-2013 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
34 :content => 'Test message content', 34 :content => 'Test message content',
35 :author => @user) 35 :author => @user)
36 assert message.save 36 assert message.save
37 @board.reload 37 @board.reload
38 # topics count incremented 38 # topics count incremented
39 assert_equal topics_count+1, @board[:topics_count] 39 assert_equal topics_count + 1, @board[:topics_count]
40 # messages count incremented 40 # messages count incremented
41 assert_equal messages_count+1, @board[:messages_count] 41 assert_equal messages_count + 1, @board[:messages_count]
42 assert_equal message, @board.last_message 42 assert_equal message, @board.last_message
43 # author should be watching the message 43 # author should be watching the message
44 assert message.watched_by?(@user) 44 assert message.watched_by?(@user)
45 end 45 end
46 46
47 def test_reply 47 def test_reply
48 topics_count = @board.topics_count 48 topics_count = @board.topics_count
49 messages_count = @board.messages_count 49 messages_count = @board.messages_count
50 @message = Message.find(1) 50 message = Message.find(1)
51 replies_count = @message.replies_count 51 replies_count = message.replies_count
52 52
53 reply_author = User.find(2) 53 reply_author = User.find(2)
54 reply = Message.new(:board => @board, :subject => 'Test reply', 54 reply = Message.new(:board => @board, :subject => 'Test reply',
55 :content => 'Test reply content', 55 :content => 'Test reply content',
56 :parent => @message, :author => reply_author) 56 :parent => message, :author => reply_author)
57 assert reply.save 57 assert reply.save
58 @board.reload 58 @board.reload
59 # same topics count 59 # same topics count
60 assert_equal topics_count, @board[:topics_count] 60 assert_equal topics_count, @board[:topics_count]
61 # messages count incremented 61 # messages count incremented
62 assert_equal messages_count+1, @board[:messages_count] 62 assert_equal messages_count+1, @board[:messages_count]
63 assert_equal reply, @board.last_message 63 assert_equal reply, @board.last_message
64 @message.reload 64 message.reload
65 # replies count incremented 65 # replies count incremented
66 assert_equal replies_count+1, @message[:replies_count] 66 assert_equal replies_count+1, message[:replies_count]
67 assert_equal reply, @message.last_reply 67 assert_equal reply, message.last_reply
68 # author should be watching the message 68 # author should be watching the message
69 assert @message.watched_by?(reply_author) 69 assert message.watched_by?(reply_author)
70 end 70 end
71 71
72 def test_cannot_reply_to_locked_topic 72 def test_cannot_reply_to_locked_topic
73 topics_count = @board.topics_count 73 topics_count = @board.topics_count
74 messages_count = @board.messages_count 74 messages_count = @board.messages_count
75 @message = Message.find(1) 75 message = Message.find(1)
76 replies_count = @message.replies_count 76 replies_count = message.replies_count
77 assert_equal false, @message.locked 77 assert_equal false, message.locked
78 @message.locked = true 78 message.locked = true
79 assert @message.save 79 assert message.save
80 assert_equal true, @message.locked 80 assert_equal true, message.locked
81 81
82 reply_author = User.find(2) 82 reply_author = User.find(2)
83 reply = Message.new(:board => @board, :subject => 'Test reply', 83 reply = Message.new(:board => @board, :subject => 'Test reply',
84 :content => 'Test reply content', 84 :content => 'Test reply content',
85 :parent => @message, :author => reply_author) 85 :parent => message, :author => reply_author)
86 reply.save 86 reply.save
87 assert_equal 1, reply.errors.count 87 assert_equal 1, reply.errors.count
88 end 88 end
89 89
90 def test_moving_message_should_update_counters 90 def test_moving_message_should_update_counters
91 @message = Message.find(1) 91 message = Message.find(1)
92 assert_no_difference 'Message.count' do 92 assert_no_difference 'Message.count' do
93 # Previous board 93 # Previous board
94 assert_difference 'Board.find(1).topics_count', -1 do 94 assert_difference 'Board.find(1).topics_count', -1 do
95 assert_difference 'Board.find(1).messages_count', -(1 + @message.replies_count) do 95 assert_difference 'Board.find(1).messages_count', -(1 + message.replies_count) do
96 # New board 96 # New board
97 assert_difference 'Board.find(2).topics_count' do 97 assert_difference 'Board.find(2).topics_count' do
98 assert_difference 'Board.find(2).messages_count', (1 + @message.replies_count) do 98 assert_difference 'Board.find(2).messages_count', (1 + message.replies_count) do
99 @message.update_attributes(:board_id => 2) 99 message.update_attributes(:board_id => 2)
100 end 100 end
101 end 101 end
102 end 102 end
103 end 103 end
104 end 104 end