Patch #13468 » 0003-news-deleting-via-api.patch
app/controllers/news_controller.rb | ||
---|---|---|
26 | 26 |
before_action :authorize, :except => [:index] |
27 | 27 |
before_action :find_optional_project, :only => :index |
28 | 28 |
accept_rss_auth :index |
29 |
accept_api_auth :index, :show, :create |
|
29 |
accept_api_auth :index, :show, :create, :destroy
|
|
30 | 30 | |
31 | 31 |
helper :watchers |
32 | 32 |
helper :attachments |
... | ... | |
106 | 106 | |
107 | 107 |
def destroy |
108 | 108 |
@news.destroy |
109 |
redirect_to project_news_index_path(@project) |
|
109 |
respond_to do |format| |
|
110 |
format.html { redirect_to project_news_index_path(@project) } |
|
111 |
format.api { render_api_ok } |
|
112 |
end |
|
110 | 113 |
end |
111 | 114 |
end |
test/integration/api_test/news_test.rb | ||
---|---|---|
263 | 263 |
news = News.find_by(:title => 'News JSON-API with attachments') |
264 | 264 |
assert_equal 2, news.attachments.count |
265 | 265 |
end |
266 | ||
267 |
test "DELETE /news/:id.xml" do |
|
268 |
assert_difference('News.count', -1) do |
|
269 |
delete '/news/1.xml', :headers => credentials('jsmith') |
|
270 | ||
271 |
assert_response :no_content |
|
272 |
assert_equal '', response.body |
|
273 |
end |
|
274 |
assert_nil News.find_by_id(1) |
|
275 |
end |
|
276 | ||
277 |
test "DELETE /news/:id.json" do |
|
278 |
assert_difference('News.count', -1) do |
|
279 |
delete '/news/1.json', :headers => credentials('jsmith') |
|
280 | ||
281 |
assert_response :no_content |
|
282 |
assert_equal '', response.body |
|
283 |
end |
|
284 |
assert_nil News.find_by_id(6) |
|
285 |
end |
|
266 | 286 |
end |