annotate .svn/pristine/a5/a5a34b2cada8528aefb674b60eab16486ab7bca6.svn-base @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children
rev   line source
Chris@1295 1 require File.expand_path('../../test_helper', __FILE__)
Chris@1295 2
Chris@1295 3 class FilesControllerTest < ActionController::TestCase
Chris@1295 4 fixtures :projects, :trackers, :issue_statuses, :issues,
Chris@1295 5 :enumerations, :users, :issue_categories,
Chris@1295 6 :projects_trackers,
Chris@1295 7 :roles,
Chris@1295 8 :member_roles,
Chris@1295 9 :members,
Chris@1295 10 :enabled_modules,
Chris@1295 11 :workflows,
Chris@1295 12 :journals, :journal_details,
Chris@1295 13 :attachments,
Chris@1295 14 :versions
Chris@1295 15
Chris@1295 16 def setup
Chris@1295 17 @controller = FilesController.new
Chris@1295 18 @request = ActionController::TestRequest.new
Chris@1295 19 @response = ActionController::TestResponse.new
Chris@1295 20 @request.session[:user_id] = nil
Chris@1295 21 Setting.default_language = 'en'
Chris@1295 22 end
Chris@1295 23
Chris@1295 24 def test_index
Chris@1295 25 get :index, :project_id => 1
Chris@1295 26 assert_response :success
Chris@1295 27 assert_template 'index'
Chris@1295 28 assert_not_nil assigns(:containers)
Chris@1295 29
Chris@1295 30 # file attached to the project
Chris@1295 31 assert_tag :a, :content => 'project_file.zip',
Chris@1295 32 :attributes => { :href => '/attachments/download/8/project_file.zip' }
Chris@1295 33
Chris@1295 34 # file attached to a project's version
Chris@1295 35 assert_tag :a, :content => 'version_file.zip',
Chris@1295 36 :attributes => { :href => '/attachments/download/9/version_file.zip' }
Chris@1295 37 end
Chris@1295 38
Chris@1295 39 def test_new
Chris@1295 40 @request.session[:user_id] = 2
Chris@1295 41 get :new, :project_id => 1
Chris@1295 42 assert_response :success
Chris@1295 43 assert_template 'new'
Chris@1295 44
Chris@1295 45 assert_tag 'select', :attributes => {:name => 'version_id'}
Chris@1295 46 end
Chris@1295 47
Chris@1295 48 def test_new_without_versions
Chris@1295 49 Version.delete_all
Chris@1295 50 @request.session[:user_id] = 2
Chris@1295 51 get :new, :project_id => 1
Chris@1295 52 assert_response :success
Chris@1295 53 assert_template 'new'
Chris@1295 54
Chris@1295 55 assert_no_tag 'select', :attributes => {:name => 'version_id'}
Chris@1295 56 end
Chris@1295 57
Chris@1295 58 def test_create_file
Chris@1295 59 set_tmp_attachments_directory
Chris@1295 60 @request.session[:user_id] = 2
Chris@1295 61 ActionMailer::Base.deliveries.clear
Chris@1295 62
Chris@1295 63 with_settings :notified_events => %w(file_added) do
Chris@1295 64 assert_difference 'Attachment.count' do
Chris@1295 65 post :create, :project_id => 1, :version_id => '',
Chris@1295 66 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
Chris@1295 67 assert_response :redirect
Chris@1295 68 end
Chris@1295 69 end
Chris@1295 70 assert_redirected_to '/projects/ecookbook/files'
Chris@1295 71 a = Attachment.find(:first, :order => 'created_on DESC')
Chris@1295 72 assert_equal 'testfile.txt', a.filename
Chris@1295 73 assert_equal Project.find(1), a.container
Chris@1295 74
Chris@1295 75 mail = ActionMailer::Base.deliveries.last
Chris@1295 76 assert_not_nil mail
Chris@1295 77 assert_equal "[eCookbook] New file", mail.subject
Chris@1295 78 assert_mail_body_match 'testfile.txt', mail
Chris@1295 79 end
Chris@1295 80
Chris@1295 81 def test_create_version_file
Chris@1295 82 set_tmp_attachments_directory
Chris@1295 83 @request.session[:user_id] = 2
Chris@1295 84
Chris@1295 85 assert_difference 'Attachment.count' do
Chris@1295 86 post :create, :project_id => 1, :version_id => '2',
Chris@1295 87 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
Chris@1295 88 assert_response :redirect
Chris@1295 89 end
Chris@1295 90 assert_redirected_to '/projects/ecookbook/files'
Chris@1295 91 a = Attachment.find(:first, :order => 'created_on DESC')
Chris@1295 92 assert_equal 'testfile.txt', a.filename
Chris@1295 93 assert_equal Version.find(2), a.container
Chris@1295 94 end
Chris@1295 95
Chris@1295 96 end