You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

projects_controller_test.rb 2.9 kB

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. require File.expand_path('../../test_helper', __FILE__)
  2. class ProjectsControllerTest < ActionController::TestCase
  3. fixtures :projects,
  4. :issues,
  5. :issue_statuses,
  6. :enumerations,
  7. :users,
  8. :issue_categories,
  9. :trackers,
  10. :projects_trackers,
  11. :roles,
  12. :member_roles,
  13. :members,
  14. :enabled_modules,
  15. :journals,
  16. :journal_details,
  17. :journals_for_messages
  18. def setup
  19. @request.session[:user_id] = nil
  20. @request.session[:ctime] = Time.now
  21. @request.session[:atime] = Time.now
  22. Setting.default_language = 'en'
  23. end
  24. test 'get :index' do
  25. get :index
  26. assert_response :success
  27. end
  28. test ':new by admin should accept get' do
  29. @request.session[:user_id] = 1
  30. get :new
  31. assert_response :success
  32. end
  33. test ':new by non-admin user with add_project permission should accept get' do
  34. Role.non_member.add_permission! :add_project
  35. @request.session[:user_id] = 9
  36. get :new
  37. assert_response :success
  38. assert_template 'new'
  39. end
  40. test ':create by admin user should create a new project' do
  41. @request.session[:user_id] = 1
  42. post :create, :project => {
  43. name: "blog1",
  44. description: 'weblog',
  45. homepage: 'http://weblog',
  46. identifier: 'blog',
  47. is_public: 1,
  48. custom_field_values: {'3' => 'Beta'},
  49. tracker_ids: ['1', '3'],
  50. :issue_custom_field_ids => ['9'],
  51. :enabled_module_names => ['issue_tracking', 'news', 'repository']
  52. }
  53. project = Project.find_by_name(blog)
  54. assert_not_nil project
  55. assert_redirected_to "/projects/#{project.id}/settings"
  56. assert_kind_of Project, project
  57. assert project.active?
  58. assert_equal 'weblog', project.description
  59. assert_equal 'http://weblog', project.homepage
  60. assert_equal true, project.is_public?
  61. assert_nil project.parent
  62. assert_equal 'Beta', project.custom_value_for(3).value
  63. assert_equal [1, 3], project.trackers.map(&:id).sort
  64. assert_equal ['issue_tracking', 'news', 'repository'], project.enabled_module_names.sort
  65. assert project.issue_custom_fields.include?(IssueCustomField.find(9))
  66. end
  67. test 'get :show trustie' do
  68. get :show, {id: 2}
  69. assert_response :success
  70. end
  71. test 'get :search, forge' do
  72. query_condition = "forge"
  73. get :search, {'name' => query_condition }
  74. projects = assigns(:projects_all)
  75. assert projects.any?, "projects should have anything."
  76. projects.each do |project|
  77. assert project.name.downcase.include?(query_condition), "project name is invalid: #{project.name}"
  78. end
  79. end
  80. test 'get :feedback' do
  81. get :feedback, {id: 2}
  82. assert_response :success
  83. # prject_id = 2 总有8个留言
  84. assert_equal assigns(:jour).count, 8
  85. end
  86. end

软件技术创新是当今国家整体创新能力的重要基础和发展引擎。近年来,大众参与的软件创新与创业活动已经成为网络时代软件开发和应用的新形态,正在快速改变着全球软件创新模式和软件产业格局。 ...