]> source.dussan.org Git - redmine.git/commitdiff
Removes RJS from WikisController.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 19 Jul 2012 18:13:08 +0000 (18:13 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 19 Jul 2012 18:13:08 +0000 (18:13 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10051 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/wikis_controller.rb
app/views/wikis/edit.js.erb [new file with mode: 0644]
test/functional/wikis_controller_test.rb

index a6f051587a3653df432d23f286e378f8c16edebf..5f40bb9343e5ba66b2cdf77c1fba0846b2788852 100644 (file)
@@ -24,7 +24,6 @@ class WikisController < ApplicationController
     @wiki = @project.wiki || Wiki.new(:project => @project)
     @wiki.safe_attributes = params[:wiki]
     @wiki.save if request.post?
-    render(:update) {|page| page.replace_html "tab-content-wiki", :partial => 'projects/settings/wiki'}
   end
 
   # Delete a project's wiki
diff --git a/app/views/wikis/edit.js.erb b/app/views/wikis/edit.js.erb
new file mode 100644 (file)
index 0000000..3d2d5b3
--- /dev/null
@@ -0,0 +1 @@
+Element.update('tab-content-wiki', '<%= escape_javascript(render :partial => 'projects/settings/wiki') %>');
index 9566c18d9955d61035736cd1753cc5a55cd1e870..fefaea1dc294f4bc6fee12ad7b7b03a744754d5a 100644 (file)
@@ -34,13 +34,47 @@ class WikisControllerTest < ActionController::TestCase
   def test_create
     @request.session[:user_id] = 1
     assert_nil Project.find(3).wiki
-    post :edit, :id => 3, :wiki => { :start_page => 'Start page' }
-    assert_response :success
+
+    assert_difference 'Wiki.count' do
+      xhr :post, :edit, :id => 3, :wiki => { :start_page => 'Start page' }
+      assert_response :success
+      assert_template 'edit'
+      assert_equal 'text/javascript', response.content_type
+    end
+
     wiki = Project.find(3).wiki
     assert_not_nil wiki
     assert_equal 'Start page', wiki.start_page
   end
 
+  def test_create_with_failure
+    @request.session[:user_id] = 1
+
+    assert_no_difference 'Wiki.count' do
+      xhr :post, :edit, :id => 3, :wiki => { :start_page => '' }
+      assert_response :success
+      assert_template 'edit'
+      assert_equal 'text/javascript', response.content_type
+    end
+
+    assert_include 'errorExplanation', response.body
+    assert_include 'Start page can\\\'t be blank', response.body
+  end
+
+  def test_update
+    @request.session[:user_id] = 1
+
+    assert_no_difference 'Wiki.count' do
+      xhr :post, :edit, :id => 1, :wiki => { :start_page => 'Other start page' }
+      assert_response :success
+      assert_template 'edit'
+      assert_equal 'text/javascript', response.content_type
+    end
+
+    wiki = Project.find(1).wiki
+    assert_equal 'Other start page', wiki.start_page
+  end
+
   def test_destroy
     @request.session[:user_id] = 1
     post :destroy, :id => 1, :confirm => 1