annotate .svn/pristine/a5/a5a34b2cada8528aefb674b60eab16486ab7bca6.svn-base @ 1327:287f201c2802 redmine-2.2-integration

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