##// END OF EJS Templates
REST API for deleting wiki pages (#7082)....
Jean-Philippe Lang -
r10528:beb261065059
parent child
Show More
@@ -36,7 +36,7 class WikiController < ApplicationController
36 36 before_filter :find_wiki, :authorize
37 37 before_filter :find_existing_or_new_page, :only => [:show, :edit, :update]
38 38 before_filter :find_existing_page, :only => [:rename, :protect, :history, :diff, :annotate, :add_attachment, :destroy, :destroy_version]
39 accept_api_auth :index, :show, :update
39 accept_api_auth :index, :show, :update, :destroy
40 40
41 41 helper :attachments
42 42 include AttachmentsHelper
@@ -263,11 +263,15 class WikiController < ApplicationController
263 263 end
264 264 else
265 265 @reassignable_to = @wiki.pages - @page.self_and_descendants
266 return
266 # display the destroy form if it's a user request
267 return unless api_request?
267 268 end
268 269 end
269 270 @page.destroy
270 redirect_to :action => 'index', :project_id => @project
271 respond_to do |format|
272 format.html { redirect_to :action => 'index', :project_id => @project }
273 format.api { render_api_ok }
274 end
271 275 end
272 276
273 277 def destroy_version
@@ -181,4 +181,13 class ApiTest::WikiPagesTest < ActionController::IntegrationTest
181 181 assert_equal 'New_subpage_from_API', page.title
182 182 assert_equal WikiPage.find(1), page.parent
183 183 end
184
185 test "DELETE /projects/:project_id/wiki/:title.xml should destroy the page" do
186 assert_difference 'WikiPage.count', -1 do
187 delete '/projects/ecookbook/wiki/CookBook_documentation.xml', {}, credentials('jsmith')
188 assert_response 200
189 end
190
191 assert_nil WikiPage.find_by_id(1)
192 end
184 193 end
@@ -168,5 +168,15 class RoutingWikiTest < ActionController::IntegrationTest
168 168 { :controller => 'wiki', :action => 'update', :project_id => '567',
169 169 :id => 'my_page', :format => 'json' }
170 170 )
171 assert_routing(
172 { :method => 'delete', :path => "/projects/567/wiki/my_page.xml" },
173 { :controller => 'wiki', :action => 'destroy', :project_id => '567',
174 :id => 'my_page', :format => 'xml' }
175 )
176 assert_routing(
177 { :method => 'delete', :path => "/projects/567/wiki/my_page.json" },
178 { :controller => 'wiki', :action => 'destroy', :project_id => '567',
179 :id => 'my_page', :format => 'json' }
180 )
171 181 end
172 182 end
General Comments 0
You need to be logged in to leave comments. Login now