diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-07-29 15:51:40 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-07-29 15:51:40 +0000 |
commit | b14576c56baefc02e6f4ca7d7fc6ede4800cc473 (patch) | |
tree | bacd3ba4f59e78a50133b0cf1302b452fd1edb90 /test | |
parent | 6db66f71836862931d46f0f04e7aa4955b383e6e (diff) | |
download | redmine-b14576c56baefc02e6f4ca7d7fc6ede4800cc473.tar.gz redmine-b14576c56baefc02e6f4ca7d7fc6ede4800cc473.zip |
Additional functional tests for issue attachment upload.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6321 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/issues_controller_test.rb | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 3f539faa1..c1bc17ffc 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -755,6 +755,31 @@ class IssuesControllerTest < ActionController::TestCase end end + def test_post_create_with_attachment + set_tmp_attachments_directory + @request.session[:user_id] = 2 + + assert_difference 'Issue.count' do + assert_difference 'Attachment.count' do + post :create, :project_id => 1, + :issue => { :tracker_id => '1', :subject => 'With attachment' }, + :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}} + end + end + + issue = Issue.first(:order => 'id DESC') + attachment = Attachment.first(:order => 'id DESC') + + assert_equal issue, attachment.container + assert_equal 2, attachment.author_id + assert_equal 'testfile.txt', attachment.filename + assert_equal 'text/plain', attachment.content_type + assert_equal 'test file', attachment.description + assert_equal 59, attachment.filesize + assert File.exists?(attachment.diskfile) + assert_equal 59, File.size(attachment.diskfile) + end + context "without workflow privilege" do setup do Workflow.delete_all(["role_id = ?", Role.anonymous.id]) @@ -1092,16 +1117,28 @@ class IssuesControllerTest < ActionController::TestCase Journal.delete_all # anonymous user - put :update, - :id => 1, - :notes => '', - :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}} + assert_difference 'Attachment.count' do + put :update, :id => 1, + :notes => '', + :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}} + end + assert_redirected_to :action => 'show', :id => '1' j = Issue.find(1).journals.find(:first, :order => 'id DESC') assert j.notes.blank? assert_equal 1, j.details.size assert_equal 'testfile.txt', j.details.first.value assert_equal User.anonymous, j.user + + attachment = Attachment.first(:order => 'id DESC') + assert_equal Issue.find(1), attachment.container + assert_equal User.anonymous, attachment.author + assert_equal 'testfile.txt', attachment.filename + assert_equal 'text/plain', attachment.content_type + assert_equal 'test file', attachment.description + assert_equal 59, attachment.filesize + assert File.exists?(attachment.diskfile) + assert_equal 59, File.size(attachment.diskfile) mail = ActionMailer::Base.deliveries.last assert mail.body.include?('testfile.txt') |