You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							96 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
	
	
							96 lines
						
					
					
						
							2.9 KiB
						
					
					
				| require File.expand_path('../../test_helper', __FILE__)
 | |
| 
 | |
| class ProjectsControllerTest < ActionController::TestCase
 | |
|   fixtures :projects, 
 | |
|            :issues, 
 | |
|            :issue_statuses,
 | |
|            :enumerations, 
 | |
|            :users, 
 | |
|            :issue_categories,
 | |
|            :trackers,
 | |
|            :projects_trackers,
 | |
|            :roles,
 | |
|            :member_roles,
 | |
|            :members,
 | |
|            :enabled_modules,
 | |
|            :journals, 
 | |
|            :journal_details,
 | |
|            :journals_for_messages
 | |
| 
 | |
|   def setup
 | |
|     @request.session[:user_id] = nil
 | |
|     @request.session[:ctime] = Time.now
 | |
|     @request.session[:atime] = Time.now
 | |
|     Setting.default_language = 'en'
 | |
|   end
 | |
| 
 | |
|   test 'get :index' do
 | |
|     get :index
 | |
|     assert_response :success
 | |
|   end
 | |
|   test ':new by admin should accept get' do
 | |
|     @request.session[:user_id] = 1
 | |
|     get :new
 | |
|     assert_response :success
 | |
|   end
 | |
|   test ':new by non-admin user with add_project permission should accept get' do
 | |
|     Role.non_member.add_permission! :add_project
 | |
|     @request.session[:user_id] = 9
 | |
|     get :new
 | |
|     assert_response :success
 | |
|     assert_template 'new'
 | |
|   end
 | |
| 
 | |
|   test ':create by admin user should create a new project' do
 | |
|     @request.session[:user_id] = 1
 | |
|     post :create, :project => {
 | |
|       name: "blog1",
 | |
|       description: 'weblog',
 | |
|       homepage: 'http://weblog',
 | |
|       identifier: 'blog',
 | |
|       is_public: 1,
 | |
|       custom_field_values: {'3' => 'Beta'},
 | |
|       tracker_ids: ['1', '3'],
 | |
|       :issue_custom_field_ids => ['9'],
 | |
|       :enabled_module_names => ['issue_tracking', 'news', 'repository']
 | |
|     }
 | |
|     project = Project.find_by_name(blog)
 | |
|     assert_not_nil project
 | |
|     assert_redirected_to "/projects/#{project.id}/settings"
 | |
| 
 | |
|     assert_kind_of Project, project
 | |
|     assert project.active?
 | |
|     assert_equal 'weblog', project.description
 | |
|     assert_equal 'http://weblog', project.homepage
 | |
|     assert_equal true, project.is_public?
 | |
|     assert_nil project.parent
 | |
|     assert_equal 'Beta', project.custom_value_for(3).value
 | |
|     assert_equal [1, 3], project.trackers.map(&:id).sort
 | |
|     assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
 | |
|     assert project.issue_custom_fields.include?(IssueCustomField.find(9))
 | |
|   end
 | |
| 
 | |
|   test 'get :show trustie' do
 | |
|     get :show, {id: 2}
 | |
|     assert_response :success
 | |
|   end
 | |
| 
 | |
|   test 'get :search, forge' do
 | |
|     query_condition = "forge"
 | |
|     get :search, {'name' => query_condition }
 | |
|     projects = assigns(:projects_all)
 | |
|     assert projects.any?, "projects should have anything."
 | |
|     projects.each do |project|
 | |
|       assert project.name.downcase.include?(query_condition), "project name is invalid: #{project.name}"
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   test 'get :feedback' do
 | |
|     get :feedback, {id: 2}
 | |
|     assert_response :success
 | |
|     # prject_id = 2 总有8个留言
 | |
|     assert_equal assigns(:jour).count, 8
 | |
|   end
 | |
| 
 | |
| end
 |