|
- 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
|