##// END OF EJS Templates
add unit test that enumeration returns default in regardless of active or not...
add unit test that enumeration returns default in regardless of active or not git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10231 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9959:bc153cb61df3
r10048:3478a21c2fe5
Show More
board_test.rb
113 lines | 3.9 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Support for subforums (#3831)....
r9959 # encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2012 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Per project forums added....
r526
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class BoardTest < ActiveSupport::TestCase
Jean-Philippe Lang
Fixed: messages attachments/watchers are not deleted when deleting a project or forum (#6966)....
r4317 fixtures :projects, :boards, :messages, :attachments, :watchers
Jean-Philippe Lang
Per project forums added....
r526
def setup
@project = Project.find(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/board_test.rb....
r6600
Jean-Philippe Lang
Per project forums added....
r526 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/board_test.rb....
r6600
Jean-Philippe Lang
Support for subforums (#3831)....
r9959 def test_parent_should_be_in_same_project
board = Board.new(:project_id => 3, :name => 'Test', :description => 'Test', :parent_id => 1)
assert !board.save
assert_include "Parent forum is invalid", board.errors.full_messages
end
def test_valid_parents_should_not_include_self_nor_a_descendant
board1 = Board.generate!(:project_id => 3)
board2 = Board.generate!(:project_id => 3, :parent => board1)
board3 = Board.generate!(:project_id => 3, :parent => board2)
board4 = Board.generate!(:project_id => 3)
assert_equal [board4], board1.reload.valid_parents.sort_by(&:id)
assert_equal [board1, board4], board2.reload.valid_parents.sort_by(&:id)
assert_equal [board1, board2, board4], board3.reload.valid_parents.sort_by(&:id)
assert_equal [board1, board2, board3], board4.reload.valid_parents.sort_by(&:id)
end
def test_position_should_be_assigned_with_parent_scope
parent1 = Board.generate!(:project_id => 3)
parent2 = Board.generate!(:project_id => 3)
child1 = Board.generate!(:project_id => 3, :parent => parent1)
child2 = Board.generate!(:project_id => 3, :parent => parent1)
assert_equal 1, parent1.reload.position
assert_equal 1, child1.reload.position
assert_equal 2, child2.reload.position
assert_equal 2, parent2.reload.position
end
def test_board_tree_should_yield_boards_with_level
parent1 = Board.generate!(:project_id => 3)
parent2 = Board.generate!(:project_id => 3)
child1 = Board.generate!(:project_id => 3, :parent => parent1)
child2 = Board.generate!(:project_id => 3, :parent => parent1)
child3 = Board.generate!(:project_id => 3, :parent => child1)
tree = Board.board_tree(Project.find(3).boards)
assert_equal [
[parent1, 0],
[child1, 1],
[child3, 2],
[child2, 1],
[parent2, 0]
], tree
end
Jean-Philippe Lang
Per project forums added....
r526 def test_destroy
board = Board.find(1)
Jean-Philippe Lang
Fixed: messages attachments/watchers are not deleted when deleting a project or forum (#6966)....
r4317 assert_difference 'Message.count', -6 do
assert_difference 'Attachment.count', -1 do
assert_difference 'Watcher.count', -1 do
assert board.destroy
end
end
end
Jean-Philippe Lang
Per project forums added....
r526 assert_equal 0, Message.count(:conditions => {:board_id => 1})
end
Jean-Philippe Lang
Support for subforums (#3831)....
r9959
def test_destroy_should_nullify_children
parent = Board.generate!(:project => @project)
child = Board.generate!(:project => @project, :parent => parent)
assert_equal parent, child.parent
assert parent.destroy
child.reload
assert_nil child.parent
assert_nil child.parent_id
end
Jean-Philippe Lang
Per project forums added....
r526 end