##// END OF EJS Templates
Removes RJS from WikisController....
Jean-Philippe Lang -
r9868:dee586e9eb96
parent child
Show More
@@ -0,0 +1,1
1 Element.update('tab-content-wiki', '<%= escape_javascript(render :partial => 'projects/settings/wiki') %>');
@@ -1,37 +1,36
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 class WikisController < ApplicationController
19 19 menu_item :settings
20 20 before_filter :find_project, :authorize
21 21
22 22 # Create or update a project's wiki
23 23 def edit
24 24 @wiki = @project.wiki || Wiki.new(:project => @project)
25 25 @wiki.safe_attributes = params[:wiki]
26 26 @wiki.save if request.post?
27 render(:update) {|page| page.replace_html "tab-content-wiki", :partial => 'projects/settings/wiki'}
28 27 end
29 28
30 29 # Delete a project's wiki
31 30 def destroy
32 31 if request.post? && params[:confirm] && @project.wiki
33 32 @project.wiki.destroy
34 33 redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'wiki'
35 34 end
36 35 end
37 36 end
@@ -1,56 +1,90
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.expand_path('../../test_helper', __FILE__)
19 19 require 'wikis_controller'
20 20
21 21 # Re-raise errors caught by the controller.
22 22 class WikisController; def rescue_action(e) raise e end; end
23 23
24 24 class WikisControllerTest < ActionController::TestCase
25 25 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules, :wikis
26 26
27 27 def setup
28 28 @controller = WikisController.new
29 29 @request = ActionController::TestRequest.new
30 30 @response = ActionController::TestResponse.new
31 31 User.current = nil
32 32 end
33 33
34 34 def test_create
35 35 @request.session[:user_id] = 1
36 36 assert_nil Project.find(3).wiki
37 post :edit, :id => 3, :wiki => { :start_page => 'Start page' }
38 assert_response :success
37
38 assert_difference 'Wiki.count' do
39 xhr :post, :edit, :id => 3, :wiki => { :start_page => 'Start page' }
40 assert_response :success
41 assert_template 'edit'
42 assert_equal 'text/javascript', response.content_type
43 end
44
39 45 wiki = Project.find(3).wiki
40 46 assert_not_nil wiki
41 47 assert_equal 'Start page', wiki.start_page
42 48 end
43 49
50 def test_create_with_failure
51 @request.session[:user_id] = 1
52
53 assert_no_difference 'Wiki.count' do
54 xhr :post, :edit, :id => 3, :wiki => { :start_page => '' }
55 assert_response :success
56 assert_template 'edit'
57 assert_equal 'text/javascript', response.content_type
58 end
59
60 assert_include 'errorExplanation', response.body
61 assert_include 'Start page can\\\'t be blank', response.body
62 end
63
64 def test_update
65 @request.session[:user_id] = 1
66
67 assert_no_difference 'Wiki.count' do
68 xhr :post, :edit, :id => 1, :wiki => { :start_page => 'Other start page' }
69 assert_response :success
70 assert_template 'edit'
71 assert_equal 'text/javascript', response.content_type
72 end
73
74 wiki = Project.find(1).wiki
75 assert_equal 'Other start page', wiki.start_page
76 end
77
44 78 def test_destroy
45 79 @request.session[:user_id] = 1
46 80 post :destroy, :id => 1, :confirm => 1
47 81 assert_redirected_to :controller => 'projects', :action => 'settings', :id => 'ecookbook', :tab => 'wiki'
48 82 assert_nil Project.find(1).wiki
49 83 end
50 84
51 85 def test_not_found
52 86 @request.session[:user_id] = 1
53 87 post :destroy, :id => 999, :confirm => 1
54 88 assert_response 404
55 89 end
56 90 end
General Comments 0
You need to be logged in to leave comments. Login now