##// END OF EJS Templates
remove duplicate fixtures from test/functional/files_controller_test.rb...
Toshi MARUYAMA -
r7408:440c2d0d2f88
parent child
Show More
@@ -1,78 +1,77
1 require File.expand_path('../../test_helper', __FILE__)
1 require File.expand_path('../../test_helper', __FILE__)
2
2
3 class FilesControllerTest < ActionController::TestCase
3 class FilesControllerTest < ActionController::TestCase
4 fixtures :projects, :trackers, :issue_statuses, :issues,
4 fixtures :projects, :trackers, :issue_statuses, :issues,
5 :enumerations, :users, :issue_categories,
5 :enumerations, :users, :issue_categories,
6 :projects_trackers,
6 :projects_trackers,
7 :roles,
7 :roles,
8 :member_roles,
8 :member_roles,
9 :members,
9 :members,
10 :enabled_modules,
10 :enabled_modules,
11 :workflows,
11 :workflows,
12 :journals, :journal_details,
12 :journals, :journal_details,
13 :issues, :issue_statuses, :issue_categories,
14 :attachments,
13 :attachments,
15 :versions
14 :versions
16
15
17 def setup
16 def setup
18 @controller = FilesController.new
17 @controller = FilesController.new
19 @request = ActionController::TestRequest.new
18 @request = ActionController::TestRequest.new
20 @response = ActionController::TestResponse.new
19 @response = ActionController::TestResponse.new
21 @request.session[:user_id] = nil
20 @request.session[:user_id] = nil
22 Setting.default_language = 'en'
21 Setting.default_language = 'en'
23 end
22 end
24
23
25 def test_index
24 def test_index
26 get :index, :project_id => 1
25 get :index, :project_id => 1
27 assert_response :success
26 assert_response :success
28 assert_template 'index'
27 assert_template 'index'
29 assert_not_nil assigns(:containers)
28 assert_not_nil assigns(:containers)
30
29
31 # file attached to the project
30 # file attached to the project
32 assert_tag :a, :content => 'project_file.zip',
31 assert_tag :a, :content => 'project_file.zip',
33 :attributes => { :href => '/attachments/download/8/project_file.zip' }
32 :attributes => { :href => '/attachments/download/8/project_file.zip' }
34
33
35 # file attached to a project's version
34 # file attached to a project's version
36 assert_tag :a, :content => 'version_file.zip',
35 assert_tag :a, :content => 'version_file.zip',
37 :attributes => { :href => '/attachments/download/9/version_file.zip' }
36 :attributes => { :href => '/attachments/download/9/version_file.zip' }
38 end
37 end
39
38
40 def test_create_file
39 def test_create_file
41 set_tmp_attachments_directory
40 set_tmp_attachments_directory
42 @request.session[:user_id] = 2
41 @request.session[:user_id] = 2
43 Setting.notified_events = ['file_added']
42 Setting.notified_events = ['file_added']
44 ActionMailer::Base.deliveries.clear
43 ActionMailer::Base.deliveries.clear
45
44
46 assert_difference 'Attachment.count' do
45 assert_difference 'Attachment.count' do
47 post :create, :project_id => 1, :version_id => '',
46 post :create, :project_id => 1, :version_id => '',
48 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
47 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
49 assert_response :redirect
48 assert_response :redirect
50 end
49 end
51 assert_redirected_to '/projects/ecookbook/files'
50 assert_redirected_to '/projects/ecookbook/files'
52 a = Attachment.find(:first, :order => 'created_on DESC')
51 a = Attachment.find(:first, :order => 'created_on DESC')
53 assert_equal 'testfile.txt', a.filename
52 assert_equal 'testfile.txt', a.filename
54 assert_equal Project.find(1), a.container
53 assert_equal Project.find(1), a.container
55
54
56 mail = ActionMailer::Base.deliveries.last
55 mail = ActionMailer::Base.deliveries.last
57 assert_kind_of TMail::Mail, mail
56 assert_kind_of TMail::Mail, mail
58 assert_equal "[eCookbook] New file", mail.subject
57 assert_equal "[eCookbook] New file", mail.subject
59 assert mail.body.include?('testfile.txt')
58 assert mail.body.include?('testfile.txt')
60 end
59 end
61
60
62 def test_create_version_file
61 def test_create_version_file
63 set_tmp_attachments_directory
62 set_tmp_attachments_directory
64 @request.session[:user_id] = 2
63 @request.session[:user_id] = 2
65 Setting.notified_events = ['file_added']
64 Setting.notified_events = ['file_added']
66
65
67 assert_difference 'Attachment.count' do
66 assert_difference 'Attachment.count' do
68 post :create, :project_id => 1, :version_id => '2',
67 post :create, :project_id => 1, :version_id => '2',
69 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
68 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
70 assert_response :redirect
69 assert_response :redirect
71 end
70 end
72 assert_redirected_to '/projects/ecookbook/files'
71 assert_redirected_to '/projects/ecookbook/files'
73 a = Attachment.find(:first, :order => 'created_on DESC')
72 a = Attachment.find(:first, :order => 'created_on DESC')
74 assert_equal 'testfile.txt', a.filename
73 assert_equal 'testfile.txt', a.filename
75 assert_equal Version.find(2), a.container
74 assert_equal Version.find(2), a.container
76 end
75 end
77
76
78 end
77 end
General Comments 0
You need to be logged in to leave comments. Login now