annotate .svn/pristine/12/124c8ea6c27371f24076da94e97c521fc176d638.svn-base @ 1628:9c5f8e24dadc live tip

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