Mercurial > hg > soundsoftware-site
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 |