]> source.dussan.org Git - redmine.git/commitdiff
added unit tests for issue statuses, user preferences and tokens
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 27 Jan 2007 22:31:42 +0000 (22:31 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 27 Jan 2007 22:31:42 +0000 (22:31 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@197 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/fixtures/user_preferences.yml
test/unit/comment_test.rb
test/unit/issue_status_test.rb [new file with mode: 0644]
test/unit/token_test.rb
test/unit/user_preference_test.rb

index 8794d28ae419929e241d892341c7429b84e5c74e..b9ba377654c7769c302a31dd818ee1e32fde54d6 100644 (file)
@@ -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
index 4435f0a7fb8f3a8aa7e1fcda9731fa1b928ab78c..301704a940de0ed4376ae70a1297076f25cf0adb 100644 (file)
@@ -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 (file)
index 0000000..404bc36
--- /dev/null
@@ -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
index 1c3820e99bdc72f999a0b557d75c1be0553de000..5a34e0ad379f6eff8ae1e2254a0d71ef0795d2f4 100644 (file)
@@ -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
index 4675a265250640c80647cf4aa20d219152a13765..cf6787b1789844f6e401ebe5b08cc2f5f5e3429c 100644 (file)
@@ -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