Mercurial > hg > soundsoftware-site
diff test/functional/wiki_controller_test.rb @ 1526:404aa68d4227
Merge from live branch
author | Chris Cannam |
---|---|
date | Thu, 11 Sep 2014 12:46:20 +0100 |
parents | dffacf8a6908 |
children |
line wrap: on
line diff
--- a/test/functional/wiki_controller_test.rb Mon Mar 17 08:57:04 2014 +0000 +++ b/test/functional/wiki_controller_test.rb Thu Sep 11 12:46:20 2014 +0100 @@ -1,5 +1,5 @@ # Redmine - project management software -# Copyright (C) 2006-2012 Jean-Philippe Lang +# Copyright (C) 2006-2014 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -16,10 +16,6 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. require File.expand_path('../../test_helper', __FILE__) -require 'wiki_controller' - -# Re-raise errors caught by the controller. -class WikiController; def rescue_action(e) raise e end; end class WikiControllerTest < ActionController::TestCase fixtures :projects, :users, :roles, :members, :member_roles, @@ -27,9 +23,6 @@ :wiki_content_versions, :attachments def setup - @controller = WikiController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new User.current = nil end @@ -60,7 +53,7 @@ assert_tag :tag => 'h1', :content => /Another page/ # Included page with an inline image assert_tag :tag => 'p', :content => /This is an inline image/ - assert_tag :tag => 'img', :attributes => { :src => '/attachments/download/3', + assert_tag :tag => 'img', :attributes => { :src => '/attachments/download/3/logo.gif', :alt => 'This is a logo' } end @@ -168,6 +161,11 @@ assert_template 'edit' end + def test_show_specific_version_of_an_unexistent_page_without_edit_right + get :show, :project_id => 1, :id => 'Unexistent page', :version => 1 + assert_response 404 + end + def test_show_unexistent_page_with_parent_should_preselect_parent @request.session[:user_id] = 2 get :show, :project_id => 1, :id => 'Unexistent page', :parent => 'Another_page' @@ -184,6 +182,16 @@ assert_response 302 end + def test_show_page_without_content_should_display_the_edit_form + @request.session[:user_id] = 2 + WikiPage.create!(:title => 'NoContent', :wiki => Project.find(1).wiki) + + get :show, :project_id => 1, :id => 'NoContent' + assert_response :success + assert_template 'edit' + assert_select 'textarea[name=?]', 'content[text]' + end + def test_create_page @request.session[:user_id] = 2 assert_difference 'WikiPage.count' do @@ -419,6 +427,19 @@ assert_equal 2, c.version end + def test_update_page_without_content_should_create_content + @request.session[:user_id] = 2 + page = WikiPage.create!(:title => 'NoContent', :wiki => Project.find(1).wiki) + + assert_no_difference 'WikiPage.count' do + assert_difference 'WikiContent.count' do + put :update, :project_id => 1, :id => 'NoContent', :content => {:text => 'Some content'} + assert_response 302 + end + end + assert_equal 'Some content', page.reload.content.text + end + def test_update_section @request.session[:user_id] = 2 page = WikiPage.find_by_title('Page_with_sections') @@ -438,7 +459,7 @@ end end end - assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections' + assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections#section-2' assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.reload.content.text end @@ -461,7 +482,7 @@ end end end - assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections' + assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections#section-2' page.reload assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.content.text assert_equal 4, page.content.version @@ -592,7 +613,7 @@ # Line 5 assert_tag :tag => 'tr', :child => { :tag => 'th', :attributes => {:class => 'line-num'}, :content => '5', :sibling => { - :tag => 'td', :attributes => {:class => 'author'}, :content => /redMine Admin/, :sibling => { + :tag => 'td', :attributes => {:class => 'author'}, :content => /Redmine Admin/, :sibling => { :tag => 'td', :content => /Some updated \[\[documentation\]\] here/ } } @@ -932,9 +953,12 @@ @request.session[:user_id] = 2 assert_difference 'Attachment.count' do post :add_attachment, :project_id => 1, :id => 'CookBook_documentation', - :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}} + :attachments => { + '1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), + 'description' => 'test file'} + } end - attachment = Attachment.first(:order => 'id DESC') + attachment = Attachment.order('id DESC').first assert_equal Wiki.find(1).find_page('CookBook_documentation'), attachment.container end end