##// END OF EJS Templates
Resourcified documents....
Resourcified documents. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8010 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7890:c3c2a4afe008
r7890:c3c2a4afe008
Show More
documents_controller_test.rb
151 lines | 6.0 KiB | text/x-ruby | RubyLexer
/ test / functional / documents_controller_test.rb
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723 #
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 # 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.
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723 #
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 # 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class DocumentsControllerTest < ActionController::TestCase
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :documents, :enumerations
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 def setup
User.current = nil
end
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 def test_index
Jean-Philippe Lang
Fixed: default category ignored when adding a document (#2328)....
r2122 # Sets a default category
e = Enumeration.find_by_name('Technical documentation')
e.update_attributes(:is_default => true)
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 get :index, :project_id => 'ecookbook'
assert_response :success
assert_template 'index'
assert_not_nil assigns(:grouped)
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Fixed: default category ignored when adding a document (#2328)....
r2122 # 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'}
Jean-Baptiste Barth
Do not show inactive document categories where not necessary (#8573)....
r5951
assert ! DocumentCategory.find(16).active?
assert_no_tag :option, :attributes => {:value => '16'},
:parent => {:tag => 'select', :attributes => {:id => 'document_category_id'} }
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 end
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 def test_index_grouped_by_date
get :index, :project_id => 'ecookbook', :sort_by => 'date'
assert_response :success
assert_tag 'h3', :content => '2007-02-12'
end
def test_index_grouped_by_title
get :index, :project_id => 'ecookbook', :sort_by => 'title'
assert_response :success
assert_tag 'h3', :content => 'T'
end
def test_index_grouped_by_author
get :index, :project_id => 'ecookbook', :sort_by => 'author'
assert_response :success
assert_tag 'h3', :content => 'John Smith'
end
Eric Davis
Added tests for #5533's behavior....
r3674 def test_index_with_long_description
# adds a long description to the first document
doc = documents(:documents_001)
doc.update_attributes(:description => <<LOREM)
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut egestas, mi vehicula varius varius, ipsum massa fermentum orci, eget tristique ante sem vel mi. Nulla facilisi. Donec enim libero, luctus ac sagittis sit amet, vehicula sagittis magna. Duis ultrices molestie ante, eget scelerisque sem iaculis vitae. Etiam fermentum mauris vitae metus pharetra condimentum fermentum est pretium. Proin sollicitudin elementum quam quis pharetra. Aenean facilisis nunc quis elit volutpat mollis. Aenean eleifend varius euismod. Ut dolor est, congue eget dapibus eget, elementum eu odio. Integer et lectus neque, nec scelerisque nisi. EndOfLineHere
Vestibulum non velit mi. Aliquam scelerisque libero ut nulla fringilla a sollicitudin magna rhoncus. Praesent a nunc lorem, ac porttitor eros. Sed ac diam nec neque interdum adipiscing quis quis justo. Donec arcu nunc, fringilla eu dictum at, venenatis ac sem. Vestibulum quis elit urna, ac mattis sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
LOREM
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Eric Davis
Added tests for #5533's behavior....
r3674 get :index, :project_id => 'ecookbook'
assert_response :success
assert_template 'index'
# should only truncate on new lines to avoid breaking wiki formatting
assert_select '.wiki p', :text => (doc.description.split("\n").first + '...')
assert_select '.wiki p', :text => Regexp.new(Regexp.escape("EndOfLineHere..."))
end
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 def test_show
get :show, :id => 1
assert_response :success
assert_template 'show'
end
Jean-Philippe Lang
Resourcified documents....
r7890 def test_new
@request.session[:user_id] = 2
get :new, :project_id => 1
assert_response :success
assert_template 'new'
end
def test_create_with_one_attachment
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 ActionMailer::Base.deliveries.clear
Setting.notified_events << 'document_added'
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 @request.session[:user_id] = 2
Jean-Philippe Lang
File viewer for attached text files....
r1506 set_tmp_attachments_directory
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Resourcified documents....
r7890 post :create, :project_id => 'ecookbook',
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 :document => { :title => 'DocumentsControllerTest#test_post_new',
:description => 'This is a new document',
:category_id => 2},
Jean-Philippe Lang
Renames uploaded_test_file helper....
r2795 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/documents'
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 document = Document.find_by_title('DocumentsControllerTest#test_post_new')
assert_not_nil document
assert_equal Enumeration.find(2), document.category
assert_equal 1, document.attachments.size
assert_equal 'testfile.txt', document.attachments.first.filename
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 assert_equal 1, ActionMailer::Base.deliveries.size
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 end
Toshi MARUYAMA
remove trailing white-spaces from functional documents controller test....
r5723
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 def test_edit
@request.session[:user_id] = 2
get :edit, :id => 1
assert_response :success
assert_template 'edit'
end
def test_update
@request.session[:user_id] = 2
Jean-Philippe Lang
Resourcified documents....
r7890 put :update, :id => 1, :document => {:title => 'test_update'}
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 assert_redirected_to '/documents/1'
document = Document.find(1)
assert_equal 'test_update', document.title
end
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 def test_destroy
@request.session[:user_id] = 2
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 assert_difference 'Document.count', -1 do
Jean-Philippe Lang
Resourcified documents....
r7890 delete :destroy, :id => 1
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885 end
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/documents'
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 assert_nil Document.find_by_id(1)
end
Jean-Philippe Lang
Adds functional tests for DocumentsController....
r7885
def test_add_attachment
@request.session[:user_id] = 2
assert_difference 'Attachment.count' do
post :add_attachment, :id => 1,
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
end
attachment = Attachment.first(:order => 'id DESC')
assert_equal Document.find(1), attachment.container
end
Jean-Philippe Lang
Moved ProjectsController#list_documents and add_document to DocumentsController#index and new....
r998 end