mirror of
https://github.com/meineerde/redmine.git
synced 2025-10-17 17:01:01 +00:00
The 'Change status' specific form removed and now accessible from issue/show view with no additional request (click on 'Update' to show the form). The 'Change issue status' permission is removed. To change the status, the user just needs to have either 'Edit' or 'Add note' permissions and some workflow transitions allowed. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1043 e93f8b46-1217-0410-a6f0-8f06a7374b81
61 lines
2.3 KiB
Ruby
61 lines
2.3 KiB
Ruby
require "#{File.dirname(__FILE__)}/../test_helper"
|
|
|
|
class IssuesTest < ActionController::IntegrationTest
|
|
fixtures :projects, :users, :trackers, :issue_statuses, :issues, :enumerations
|
|
|
|
# create an issue
|
|
def test_add_issue
|
|
log_user('jsmith', 'jsmith')
|
|
get "projects/add_issue/1", :tracker_id => "1"
|
|
assert_response :success
|
|
assert_template "projects/add_issue"
|
|
|
|
post "projects/add_issue/1", :tracker_id => "1",
|
|
:issue => { :start_date => "2006-12-26",
|
|
:priority_id => "3",
|
|
:subject => "new test issue",
|
|
:category_id => "",
|
|
:description => "new issue",
|
|
:done_ratio => "0",
|
|
:due_date => "",
|
|
:assigned_to_id => "" }
|
|
# find created issue
|
|
issue = Issue.find_by_subject("new test issue")
|
|
assert_kind_of Issue, issue
|
|
|
|
# check redirection
|
|
assert_redirected_to "projects/ecookbook/issues"
|
|
follow_redirect!
|
|
assert assigns(:issues).include?(issue)
|
|
|
|
# check issue attributes
|
|
assert_equal 'jsmith', issue.author.login
|
|
assert_equal 1, issue.project.id
|
|
assert_equal 1, issue.status.id
|
|
end
|
|
|
|
# add then remove 2 attachments to an issue
|
|
def test_issue_attachements
|
|
log_user('jsmith', 'jsmith')
|
|
|
|
post 'issues/update/1',
|
|
:notes => 'Some notes',
|
|
:attachments => ([] << ActionController::TestUploadedFile.new(Test::Unit::TestCase.fixture_path + '/files/testfile.txt', 'text/plain'))
|
|
assert_redirected_to "issues/show/1"
|
|
|
|
# make sure attachment was saved
|
|
attachment = Issue.find(1).attachments.find_by_filename("testfile.txt")
|
|
assert_kind_of Attachment, attachment
|
|
assert_equal Issue.find(1), attachment.container
|
|
# verify the size of the attachment stored in db
|
|
#assert_equal file_data_1.length, attachment.filesize
|
|
# verify that the attachment was written to disk
|
|
assert File.exist?(attachment.diskfile)
|
|
|
|
# remove the attachments
|
|
Issue.find(1).attachments.each(&:destroy)
|
|
assert_equal 0, Issue.find(1).attachments.length
|
|
end
|
|
|
|
end
|