summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/fixtures/user_preferences.yml25
-rw-r--r--test/unit/comment_test.rb17
-rw-r--r--test/unit/issue_status_test.rb49
-rw-r--r--test/unit/token_test.rb25
-rw-r--r--test/unit/user_preference_test.rb41
5 files changed, 147 insertions, 10 deletions
diff --git a/test/fixtures/user_preferences.yml b/test/fixtures/user_preferences.yml
index 8794d28ae..b9ba37765 100644
--- a/test/fixtures/user_preferences.yml
+++ b/test/fixtures/user_preferences.yml
@@ -1,5 +1,24 @@
-# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-first:
+---
+user_preferences_001:
+ others: |
+ ---
+ :my_page_layout:
+ left:
+ - latest_news
+ - documents
+ right:
+ - issues_assigned_to_me
+ - issues_reported_by_me
+ top:
+ - calendar
+
id: 1
-another:
+ user_id: 1
+ hide_mail: true
+user_preferences_002:
+ others: |+
+ --- {}
+
id: 2
+ user_id: 3
+ hide_mail: false \ No newline at end of file
diff --git a/test/unit/comment_test.rb b/test/unit/comment_test.rb
index 4435f0a7f..301704a94 100644
--- a/test/unit/comment_test.rb
+++ b/test/unit/comment_test.rb
@@ -1,3 +1,20 @@
+# redMine - project management software
+# Copyright (C) 2006-2007 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 CommentTest < Test::Unit::TestCase
diff --git a/test/unit/issue_status_test.rb b/test/unit/issue_status_test.rb
new file mode 100644
index 000000000..404bc36ba
--- /dev/null
+++ b/test/unit/issue_status_test.rb
@@ -0,0 +1,49 @@
+# redMine - project management software
+# Copyright (C) 2006-2007 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 IssueStatusTest < Test::Unit::TestCase
+ fixtures :issue_statuses
+
+ def test_create
+ status = IssueStatus.new :name => "Assigned"
+ assert !status.save
+ # status name uniqueness
+ assert_equal 1, status.errors.count
+
+ status.name = "Test Status"
+ assert status.save
+ assert !status.is_default
+ end
+
+ def test_default
+ status = IssueStatus.default
+ assert_kind_of IssueStatus, status
+ end
+
+ def test_change_default
+ status = IssueStatus.find(2)
+ assert !status.is_default
+ status.is_default = true
+ assert status.save
+ status.reload
+
+ assert_equal status, IssueStatus.default
+ assert !IssueStatus.find(1).is_default
+ end
+end
diff --git a/test/unit/token_test.rb b/test/unit/token_test.rb
index 1c3820e99..5a34e0ad3 100644
--- a/test/unit/token_test.rb
+++ b/test/unit/token_test.rb
@@ -1,10 +1,29 @@
+# redMine - project management software
+# Copyright (C) 2006-2007 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 TokenTest < Test::Unit::TestCase
fixtures :tokens
- # Replace this with your real tests.
- def test_truth
- assert true
+ def test_create
+ token = Token.new
+ token.save
+ assert_equal 40, token.value.length
+ assert !token.expired?
end
end
diff --git a/test/unit/user_preference_test.rb b/test/unit/user_preference_test.rb
index 4675a2652..cf6787b17 100644
--- a/test/unit/user_preference_test.rb
+++ b/test/unit/user_preference_test.rb
@@ -1,10 +1,43 @@
+# redMine - project management software
+# Copyright (C) 2006-2007 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 UserPreferenceTest < Test::Unit::TestCase
- fixtures :user_preferences
+ fixtures :users, :user_preferences
- # Replace this with your real tests.
- def test_truth
- assert true
+ def test_create
+ user = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")
+ user.login = "newuser"
+ user.password, user.password_confirmation = "password", "password"
+ assert user.save
+
+ assert_kind_of UserPreference, user.pref
+ assert_kind_of Hash, user.pref.others
+ assert user.pref.save
+ end
+
+ def test_update
+ user = User.find(1)
+ assert_equal true, user.pref.hide_mail
+ user.pref['preftest'] = 'value'
+ assert user.pref.save
+
+ user.reload
+ assert_equal 'value', user.pref['preftest']
end
end