comparison .svn/pristine/12/124c8ea6c27371f24076da94e97c521fc176d638.svn-base @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents
children
comparison
equal deleted inserted replaced
908:c6c2cbd0afee 909:cbb26bc654de
1 require File.expand_path('../../test_helper', __FILE__)
2
3 class FilesControllerTest < ActionController::TestCase
4 fixtures :projects, :trackers, :issue_statuses, :issues,
5 :enumerations, :users, :issue_categories,
6 :projects_trackers,
7 :roles,
8 :member_roles,
9 :members,
10 :enabled_modules,
11 :workflows,
12 :journals, :journal_details,
13 :attachments,
14 :versions
15
16 def setup
17 @controller = FilesController.new
18 @request = ActionController::TestRequest.new
19 @response = ActionController::TestResponse.new
20 @request.session[:user_id] = nil
21 Setting.default_language = 'en'
22 end
23
24 def test_index
25 get :index, :project_id => 1
26 assert_response :success
27 assert_template 'index'
28 assert_not_nil assigns(:containers)
29
30 # file attached to the project
31 assert_tag :a, :content => 'project_file.zip',
32 :attributes => { :href => '/attachments/download/8/project_file.zip' }
33
34 # file attached to a project's version
35 assert_tag :a, :content => 'version_file.zip',
36 :attributes => { :href => '/attachments/download/9/version_file.zip' }
37 end
38
39 def test_create_file
40 set_tmp_attachments_directory
41 @request.session[:user_id] = 2
42 Setting.notified_events = ['file_added']
43 ActionMailer::Base.deliveries.clear
44
45 assert_difference 'Attachment.count' do
46 post :create, :project_id => 1, :version_id => '',
47 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
48 assert_response :redirect
49 end
50 assert_redirected_to '/projects/ecookbook/files'
51 a = Attachment.find(:first, :order => 'created_on DESC')
52 assert_equal 'testfile.txt', a.filename
53 assert_equal Project.find(1), a.container
54
55 mail = ActionMailer::Base.deliveries.last
56 assert_kind_of TMail::Mail, mail
57 assert_equal "[eCookbook] New file", mail.subject
58 assert mail.body.include?('testfile.txt')
59 end
60
61 def test_create_version_file
62 set_tmp_attachments_directory
63 @request.session[:user_id] = 2
64 Setting.notified_events = ['file_added']
65
66 assert_difference 'Attachment.count' do
67 post :create, :project_id => 1, :version_id => '2',
68 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
69 assert_response :redirect
70 end
71 assert_redirected_to '/projects/ecookbook/files'
72 a = Attachment.find(:first, :order => 'created_on DESC')
73 assert_equal 'testfile.txt', a.filename
74 assert_equal Version.find(2), a.container
75 end
76
77 end