* added issue_relations branch

* issue_relation model added

git-svn-id: http://redmine.rubyforge.org/svn/branches/work@162 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-01-13 14:20:40 +00:00
parent 5b2d5701bd
commit bc9eb65c98
580 changed files with 41600 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
require File.dirname(__FILE__) + '/../test_helper'
class CommentTest < Test::Unit::TestCase
fixtures :users, :news, :comments
def setup
@jsmith = User.find(2)
@news = News.find(1)
end
def test_create
comment = Comment.new(:commented => @news, :author => @jsmith, :comment => "my comment")
assert comment.save
@news.reload
assert_equal 2, @news.comments_count
end
def test_validate
comment = Comment.new(:commented => @news)
assert !comment.save
assert_equal 2, comment.errors.length
end
def test_destroy
comment = Comment.find(1)
assert comment.destroy
@news.reload
assert_equal 0, @news.comments_count
end
end
+51
View File
@@ -0,0 +1,51 @@
# redMine - project management software
# Copyright (C) 2006 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.
require File.dirname(__FILE__) + '/../test_helper'
class MemberTest < Test::Unit::TestCase
fixtures :users, :projects, :roles, :members
def setup
@jsmith = Member.find(1)
end
def test_create
member = Member.new(:project_id => 1, :user_id => 4, :role_id => 1)
assert member.save
end
def test_update
assert_equal "eCookbook", @jsmith.project.name
assert_equal "Manager", @jsmith.role.name
assert_equal "jsmith", @jsmith.user.login
@jsmith.role = Role.find(2)
assert @jsmith.save
end
def test_validate
member = Member.new(:project_id => 1, :user_id => 2, :role_id =>2)
# same use can't have more than one role for a project
assert !member.save
end
def test_destroy
@jsmith.destroy
assert_raise(ActiveRecord::RecordNotFound) { Member.find(@jsmith.id) }
end
end
+79
View File
@@ -0,0 +1,79 @@
# redMine - project management software
# Copyright (C) 2006 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.
require File.dirname(__FILE__) + '/../test_helper'
class ProjectTest < Test::Unit::TestCase
fixtures :projects
def setup
@ecookbook = Project.find(1)
@ecookbook_sub1 = Project.find(3)
end
def test_truth
assert_kind_of Project, @ecookbook
assert_equal "eCookbook", @ecookbook.name
end
def test_update
assert_equal "eCookbook", @ecookbook.name
@ecookbook.name = "eCook"
assert @ecookbook.save, @ecookbook.errors.full_messages.join("; ")
@ecookbook.reload
assert_equal "eCook", @ecookbook.name
end
def test_validate
@ecookbook.name = ""
assert !@ecookbook.save
assert_equal 1, @ecookbook.errors.count
assert_equal l(:activerecord_error_blank), @ecookbook.errors.on(:name)
end
def test_public_projects
public_projects = Project.find(:all, :conditions => ["is_public=?", true])
assert_equal 3, public_projects.length
assert_equal true, public_projects[0].is_public?
end
def test_destroy
@ecookbook.destroy
assert_raise(ActiveRecord::RecordNotFound) { Project.find(@ecookbook.id) }
end
def test_subproject_ok
sub = Project.find(2)
sub.parent = @ecookbook
assert sub.save
assert_equal @ecookbook.id, sub.parent.id
@ecookbook.reload
assert_equal 3, @ecookbook.projects_count
end
def test_subproject_invalid
sub = Project.find(2)
sub.parent = @ecookbook_sub1
assert !sub.save
end
def test_subproject_invalid_2
sub = @ecookbook
sub.parent = Project.find(2)
assert !sub.save
end
end
+10
View File
@@ -0,0 +1,10 @@
require File.dirname(__FILE__) + '/../test_helper'
class TokenTest < Test::Unit::TestCase
fixtures :tokens
# Replace this with your real tests.
def test_truth
assert true
end
end
@@ -0,0 +1,10 @@
require File.dirname(__FILE__) + '/../test_helper'
class UserPreferenceTest < Test::Unit::TestCase
fixtures :user_preferences
# Replace this with your real tests.
def test_truth
assert true
end
end
+88
View File
@@ -0,0 +1,88 @@
# redMine - project management software
# Copyright (C) 2006 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.
require File.dirname(__FILE__) + '/../test_helper'
class UserTest < Test::Unit::TestCase
fixtures :users
def setup
@admin = User.find(1)
@jsmith = User.find(2)
end
def test_truth
assert_kind_of User, @jsmith
end
def test_create
user = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")
user.login = "jsmith"
user.password, user.password_confirmation = "password", "password"
# login uniqueness
assert !user.save
assert_equal 1, user.errors.count
user.login = "newuser"
user.password, user.password_confirmation = "passwd", "password"
# password confirmation
assert !user.save
assert_equal 1, user.errors.count
user.password, user.password_confirmation = "password", "password"
assert user.save
end
def test_update
assert_equal "admin", @admin.login
@admin.login = "john"
assert @admin.save, @admin.errors.full_messages.join("; ")
@admin.reload
assert_equal "john", @admin.login
end
def test_validate
@admin.login = ""
assert !@admin.save
assert_equal 2, @admin.errors.count
end
def test_password
user = User.try_to_login("admin", "admin")
assert_kind_of User, user
assert_equal "admin", user.login
user.password = "hello"
assert user.save
user = User.try_to_login("admin", "hello")
assert_kind_of User, user
assert_equal "admin", user.login
assert_equal User.hash_password("hello"), user.hashed_password
end
def test_lock
user = User.try_to_login("jsmith", "jsmith")
assert_equal @jsmith, user
@jsmith.status = User::STATUS_LOCKED
assert @jsmith.save
user = User.try_to_login("jsmith", "jsmith")
assert_equal nil, user
end
end