Fix some tests for changes in rails 5
authorTom Hughes <tom@compton.nu>
Fri, 2 Jun 2017 21:31:12 +0000 (22:31 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 27 Jun 2017 07:26:44 +0000 (08:26 +0100)
app/controllers/user_controller.rb
app/views/layouts/_header.html.erb
app/views/user/logout.html.erb
test/controllers/notes_controller_test.rb
test/controllers/user_controller_test.rb
test/integration/cors_test.rb

index b6fc79b..82373c9 100644 (file)
@@ -268,7 +268,7 @@ class UserController < ApplicationController
   def logout
     @title = t "user.logout.title"
 
-    if params[:session] == request.session_options[:id]
+    if params[:session] == session.id
       if session[:token]
         token = UserToken.find_by(:token => session[:token])
         token.destroy if token
index 2b7d631..2629897 100644 (file)
@@ -80,7 +80,7 @@
             <%= yield :greeting %>
           </li>
           <li>
-            <%= link_to t('layouts.logout'), logout_path(:session => request.session_options[:id], :referer => request.fullpath) %>
+            <%= link_to t('layouts.logout'), logout_path(:session => session.id, :referer => request.fullpath) %>
           </li>
         </ul>
       </div>
index bb67d15..2620cda 100644 (file)
@@ -4,6 +4,6 @@
 
 <%= form_tag :action => "logout" do %>
   <%= hidden_field_tag("referer", h(params[:referer])) %>
-  <%= hidden_field_tag("session", request.session_options[:id]) %>
+  <%= hidden_field_tag("session", session.id) %>
   <%= submit_tag t('user.logout.logout_button') %>
 <% end %>
index dfeec0c..c6d89f1 100644 (file)
@@ -770,11 +770,11 @@ class NotesControllerTest < ActionController::TestCase
 
     get :index, :params => { :bbox => "-10,-10,12,12", :format => :json }
     assert_response :bad_request
-    assert_equal "text/plain", @response.content_type
+    assert_equal "application/json", @response.content_type
 
     get :index, :params => { :l => "-10", :b => "-10", :r => "12", :t => "12", :format => :json }
     assert_response :bad_request
-    assert_equal "text/plain", @response.content_type
+    assert_equal "application/json", @response.content_type
   end
 
   def test_index_closed
index 0fe224f..7c79717 100644 (file)
@@ -785,6 +785,7 @@ class UserControllerTest < ActionController::TestCase
 
     # Updating the description should work
     user.description = "new description"
+    user.preferred_editor = "default"
     post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
     assert_response :success
     assert_template :account
@@ -1434,7 +1435,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "pending", inactive_user.reload.status
     assert_equal "suspended", suspended_user.reload.status
 
@@ -1445,7 +1446,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "pending", inactive_user.reload.status
     assert_equal "suspended", suspended_user.reload.status
 
@@ -1456,7 +1457,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "pending", inactive_user.reload.status
     assert_equal "suspended", suspended_user.reload.status
 
@@ -1481,7 +1482,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "active", normal_user.reload.status
     assert_equal "confirmed", confirmed_user.reload.status
 
@@ -1492,7 +1493,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "active", normal_user.reload.status
     assert_equal "confirmed", confirmed_user.reload.status
 
@@ -1503,7 +1504,7 @@ class UserControllerTest < ActionController::TestCase
       post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
     end
     assert_response :redirect
-    assert_redirected_to :action => :login, :referer => users_path(:hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 })
+    assert_redirected_to :action => :login, :referer => users_path
     assert_equal "active", normal_user.reload.status
     assert_equal "confirmed", confirmed_user.reload.status
 
index fdecfc2..05754da 100644 (file)
@@ -1,22 +1,11 @@
 require "test_helper"
 
 class CORSTest < ActionDispatch::IntegrationTest
-  # Rails 4 adds a built-in `options` method. When we upgrade, we can remove
-  # this definition.
-  unless instance_methods.include?(:options)
-    def options(*args)
-      reset! unless integration_session
-      @html_document = nil
-      integration_session.send(:process, :options, *args).tap do
-        copy_session_variables!
-      end
-    end
-  end
-
   def test_api_routes_allow_cross_origin_requests
-    options "/api/capabilities", nil,
-            "HTTP_ORIGIN" => "http://www.example.com",
-            "HTTP_ACCESS_CONTROL_REQUEST_METHOD" => "GET"
+    process :options, "/api/capabilities", :headers => {
+      "HTTP_ORIGIN" => "http://www.example.com",
+      "HTTP_ACCESS_CONTROL_REQUEST_METHOD" => "GET"
+    }
 
     assert_response :success
     assert_equal "http://www.example.com", response.headers["Access-Control-Allow-Origin"]
@@ -24,9 +13,10 @@ class CORSTest < ActionDispatch::IntegrationTest
 
   def test_non_api_routes_dont_allow_cross_origin_requests
     assert_raises ActionController::RoutingError do
-      options "/", nil,
-              "HTTP_ORIGIN" => "http://www.example.com",
-              "HTTP_ACCESS_CONTROL_REQUEST_METHOD" => "GET"
+      process :options, "/", :headers => {
+        "HTTP_ORIGIN" => "http://www.example.com",
+        "HTTP_ACCESS_CONTROL_REQUEST_METHOD" => "GET"
+      }
     end
   end
 end