has_many :documents, :dependent => :destroy
has_many :news, :dependent => :delete_all, :include => :author
has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
- has_many :boards, :order => "position ASC"
+ has_many :boards, :dependent => :destroy, :order => "position ASC"
has_one :repository, :dependent => :destroy
has_many :changesets, :through => :repository
has_one :wiki, :dependent => :destroy
require File.dirname(__FILE__) + '/../test_helper'\r
\r
class ProjectTest < Test::Unit::TestCase\r
- fixtures :projects, :issues, :issue_statuses, :journals, :journal_details, :users, :members, :roles, :projects_trackers, :trackers\r
+ fixtures :projects, :issues, :issue_statuses, :journals, :journal_details, :users, :members, :roles, :projects_trackers, :trackers, :boards\r
\r
def setup\r
@ecookbook = Project.find(1)\r
assert_equal 2, @ecookbook.members.size\r
# and 1 is locked\r
assert_equal 3, Member.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).size\r
+ # some boards\r
+ assert @ecookbook.boards.any?\r
\r
@ecookbook.destroy\r
# make sure that the project non longer exists\r
assert_raise(ActiveRecord::RecordNotFound) { Project.find(@ecookbook.id) }\r
- # make sure all members have been removed\r
- assert_equal 0, Member.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).size\r
+ # make sure related data was removed\r
+ assert Member.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).empty?\r
+ assert Board.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).empty?\r
end\r
\r
def test_subproject_ok\r