comparison test/functional/files_controller_test.rb @ 1115:433d4f72a19b redmine-2.2

Update to Redmine SVN revision 11137 on 2.2-stable branch
author Chris Cannam
date Mon, 07 Jan 2013 12:01:42 +0000
parents cbb26bc654de
children 622f24f53b42
comparison
equal deleted inserted replaced
929:5f33065ddc4b 1115:433d4f72a19b
34 # file attached to a project's version 34 # file attached to a project's version
35 assert_tag :a, :content => 'version_file.zip', 35 assert_tag :a, :content => 'version_file.zip',
36 :attributes => { :href => '/attachments/download/9/version_file.zip' } 36 :attributes => { :href => '/attachments/download/9/version_file.zip' }
37 end 37 end
38 38
39 def test_new
40 @request.session[:user_id] = 2
41 get :new, :project_id => 1
42 assert_response :success
43 assert_template 'new'
44
45 assert_tag 'select', :attributes => {:name => 'version_id'}
46 end
47
48 def test_new_without_versions
49 Version.delete_all
50 @request.session[:user_id] = 2
51 get :new, :project_id => 1
52 assert_response :success
53 assert_template 'new'
54
55 assert_no_tag 'select', :attributes => {:name => 'version_id'}
56 end
57
39 def test_create_file 58 def test_create_file
40 set_tmp_attachments_directory 59 set_tmp_attachments_directory
41 @request.session[:user_id] = 2 60 @request.session[:user_id] = 2
42 Setting.notified_events = ['file_added']
43 ActionMailer::Base.deliveries.clear 61 ActionMailer::Base.deliveries.clear
44 62
45 assert_difference 'Attachment.count' do 63 with_settings :notified_events => %w(file_added) do
46 post :create, :project_id => 1, :version_id => '', 64 assert_difference 'Attachment.count' do
47 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}} 65 post :create, :project_id => 1, :version_id => '',
48 assert_response :redirect 66 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
67 assert_response :redirect
68 end
49 end 69 end
50 assert_redirected_to '/projects/ecookbook/files' 70 assert_redirected_to '/projects/ecookbook/files'
51 a = Attachment.find(:first, :order => 'created_on DESC') 71 a = Attachment.find(:first, :order => 'created_on DESC')
52 assert_equal 'testfile.txt', a.filename 72 assert_equal 'testfile.txt', a.filename
53 assert_equal Project.find(1), a.container 73 assert_equal Project.find(1), a.container
54 74
55 mail = ActionMailer::Base.deliveries.last 75 mail = ActionMailer::Base.deliveries.last
56 assert_kind_of TMail::Mail, mail 76 assert_not_nil mail
57 assert_equal "[eCookbook] New file", mail.subject 77 assert_equal "[eCookbook] New file", mail.subject
58 assert mail.body.include?('testfile.txt') 78 assert_mail_body_match 'testfile.txt', mail
59 end 79 end
60 80
61 def test_create_version_file 81 def test_create_version_file
62 set_tmp_attachments_directory 82 set_tmp_attachments_directory
63 @request.session[:user_id] = 2 83 @request.session[:user_id] = 2
64 Setting.notified_events = ['file_added']
65 84
66 assert_difference 'Attachment.count' do 85 assert_difference 'Attachment.count' do
67 post :create, :project_id => 1, :version_id => '2', 86 post :create, :project_id => 1, :version_id => '2',
68 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}} 87 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
69 assert_response :redirect 88 assert_response :redirect