Mercurial > hg > soundsoftware-site
comparison .svn/pristine/a5/a5a34b2cada8528aefb674b60eab16486ab7bca6.svn-base @ 1296:038ba2d95de8 redmine-2.2
Fix redmine-2.2 branch update (add missing svn files)
author | Chris Cannam |
---|---|
date | Fri, 14 Jun 2013 09:05:06 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1294:3e4c3460b6ca | 1296:038ba2d95de8 |
---|---|
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_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 | |
58 def test_create_file | |
59 set_tmp_attachments_directory | |
60 @request.session[:user_id] = 2 | |
61 ActionMailer::Base.deliveries.clear | |
62 | |
63 with_settings :notified_events => %w(file_added) do | |
64 assert_difference 'Attachment.count' do | |
65 post :create, :project_id => 1, :version_id => '', | |
66 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}} | |
67 assert_response :redirect | |
68 end | |
69 end | |
70 assert_redirected_to '/projects/ecookbook/files' | |
71 a = Attachment.find(:first, :order => 'created_on DESC') | |
72 assert_equal 'testfile.txt', a.filename | |
73 assert_equal Project.find(1), a.container | |
74 | |
75 mail = ActionMailer::Base.deliveries.last | |
76 assert_not_nil mail | |
77 assert_equal "[eCookbook] New file", mail.subject | |
78 assert_mail_body_match 'testfile.txt', mail | |
79 end | |
80 | |
81 def test_create_version_file | |
82 set_tmp_attachments_directory | |
83 @request.session[:user_id] = 2 | |
84 | |
85 assert_difference 'Attachment.count' do | |
86 post :create, :project_id => 1, :version_id => '2', | |
87 :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}} | |
88 assert_response :redirect | |
89 end | |
90 assert_redirected_to '/projects/ecookbook/files' | |
91 a = Attachment.find(:first, :order => 'created_on DESC') | |
92 assert_equal 'testfile.txt', a.filename | |
93 assert_equal Version.find(2), a.container | |
94 end | |
95 | |
96 end |