From b21b6c365cc1f058207490d924d4c804843464a8 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Lang <jp_lang@yahoo.fr>
Date: Fri, 12 Dec 2008 13:49:14 +0000
Subject: Fixed: default category ignored when adding a document (#2328).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2124 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 test/functional/documents_controller_test.rb |  9 +++++++
 test/unit/document_test.rb                   | 37 ++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 test/unit/document_test.rb

(limited to 'test')

diff --git a/test/functional/documents_controller_test.rb b/test/functional/documents_controller_test.rb
index 7c1f0213a..b2e7abda0 100644
--- a/test/functional/documents_controller_test.rb
+++ b/test/functional/documents_controller_test.rb
@@ -32,10 +32,19 @@ class DocumentsControllerTest < Test::Unit::TestCase
   end
 
   def test_index
+    # Sets a default category
+    e = Enumeration.find_by_name('Technical documentation')
+    e.update_attributes(:is_default => true)
+    
     get :index, :project_id => 'ecookbook'
     assert_response :success
     assert_template 'index'
     assert_not_nil assigns(:grouped)
+    
+    # Default category selected in the new document form
+    assert_tag :select, :attributes => {:name => 'document[category_id]'},
+                        :child => {:tag => 'option', :attributes => {:selected => 'selected'},
+                                                     :content => 'Technical documentation'}
   end
   
   def test_new_with_one_attachment
diff --git a/test/unit/document_test.rb b/test/unit/document_test.rb
new file mode 100644
index 000000000..17a0ad6ea
--- /dev/null
+++ b/test/unit/document_test.rb
@@ -0,0 +1,37 @@
+# Redmine - project management software
+# Copyright (C) 2006-2008  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 DocumentTest < Test::Unit::TestCase
+  fixtures :projects, :enumerations, :documents
+
+  def test_create
+    doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation'))
+    assert doc.save
+  end
+  
+  def test_create_with_default_category
+    # Sets a default category
+    e = Enumeration.find_by_name('Technical documentation')
+    e.update_attributes(:is_default => true)
+    
+    doc = Document.new(:project => Project.find(1), :title => 'New document')
+    assert_equal e, doc.category
+    assert doc.save
+  end
+end
-- 
cgit v1.2.3