##// END OF EJS Templates
Fixed: Missing template wiki/update.erb error introduced in r4272 (#6987)....
Jean-Philippe Lang -
r4315:4a6a551d074c
parent child
Show More
@@ -125,6 +125,8 class WikiController < ApplicationController
125 125 render_attachment_warning_if_needed(@page)
126 126 call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page})
127 127 redirect_to :action => 'show', :project_id => @project, :id => @page.title
128 else
129 render :action => 'edit'
128 130 end
129 131
130 132 rescue ActiveRecord::StaleObjectError
@@ -108,6 +108,52 class WikiControllerTest < ActionController::TestCase
108 108 assert_equal 1, page.attachments.count
109 109 assert_equal 'testfile.txt', page.attachments.first.filename
110 110 end
111
112 def test_update_page
113 @request.session[:user_id] = 2
114 assert_no_difference 'WikiPage.count' do
115 assert_no_difference 'WikiContent.count' do
116 assert_difference 'WikiContent::Version.count' do
117 put :update, :project_id => 1,
118 :id => 'Another_page',
119 :content => {
120 :comments => "my comments",
121 :text => "edited",
122 :version => 1
123 }
124 end
125 end
126 end
127 assert_redirected_to '/projects/ecookbook/wiki/Another_page'
128
129 page = Wiki.find(1).pages.find_by_title('Another_page')
130 assert_equal "edited", page.content.text
131 assert_equal 2, page.content.version
132 assert_equal "my comments", page.content.comments
133 end
134
135 def test_update_page_with_failure
136 @request.session[:user_id] = 2
137 assert_no_difference 'WikiPage.count' do
138 assert_no_difference 'WikiContent.count' do
139 assert_no_difference 'WikiContent::Version.count' do
140 put :update, :project_id => 1,
141 :id => 'Another_page',
142 :content => {
143 :comments => 'a' * 300, # failure here, comment is too long
144 :text => 'edited',
145 :version => 1
146 }
147 end
148 end
149 end
150 assert_response :success
151 assert_template 'edit'
152
153 assert_error_tag :descendant => {:content => /Comment is too long/}
154 assert_tag :tag => 'textarea', :attributes => {:id => 'content_text'}, :content => 'edited'
155 assert_tag :tag => 'input', :attributes => {:id => 'content_version', :value => '1'}
156 end
111 157
112 158 def test_preview
113 159 @request.session[:user_id] = 2
@@ -115,7 +115,7 class ActiveSupport::TestCase
115 115 end
116 116
117 117 def assert_error_tag(options={})
118 assert_tag({:tag => 'p', :attributes => { :id => 'errorExplanation' }}.merge(options))
118 assert_tag({:attributes => { :id => 'errorExplanation' }}.merge(options))
119 119 end
120 120
121 121 # Shoulda macros
General Comments 0
You need to be logged in to leave comments. Login now