]> git.openstreetmap.org Git - rails.git/blobdiff - test/integration/user_terms_seen_test.rb
Merge remote-tracking branch 'upstream/pull/5348'
[rails.git] / test / integration / user_terms_seen_test.rb
index 33a6950ee62378ebabd7ab02acb4a6947b50a939..d419003d9bcab15283570fa0817a540da1086c8b 100644 (file)
@@ -1,34 +1,29 @@
 require "test_helper"
 
 class UserTermsSeenTest < ActionDispatch::IntegrationTest
-  def setup
-    stub_hostip_requests
-  end
-
   def test_api_blocked
-    user = create(:user, :terms_seen => false)
+    user = create(:user, :terms_seen => false, :terms_agreed => nil)
 
-    get "/api/#{API_VERSION}/user/preferences", :headers => auth_header(user.display_name, "test")
+    get "/api/#{Settings.api_version}/user/preferences", :headers => bearer_authorization_header(user)
     assert_response :forbidden
 
     # touch it so that the user has seen the terms
     user.terms_seen = true
     user.save
 
-    get "/api/#{API_VERSION}/user/preferences", :headers => auth_header(user.display_name, "test")
+    get "/api/#{Settings.api_version}/user/preferences", :headers => bearer_authorization_header(user)
     assert_response :success
   end
 
   def test_terms_presented_at_login
-    user = create(:user, :terms_seen => false)
+    user = create(:user, :terms_seen => false, :terms_agreed => nil)
 
     # try to log in
     get "/login"
     follow_redirect!
     assert_response :success
-    assert_template "users/login"
+    assert_template "sessions/new"
     post "/login", :params => { :username => user.email, :password => "test", :referer => "/diary/new" }
-    assert_response :redirect
     # but now we need to look at the terms
     assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
     follow_redirect!
@@ -45,15 +40,14 @@ class UserTermsSeenTest < ActionDispatch::IntegrationTest
   end
 
   def test_terms_cant_be_circumvented
-    user = create(:user, :terms_seen => false)
+    user = create(:user, :terms_seen => false, :terms_agreed => nil)
 
     # try to log in
     get "/login"
     follow_redirect!
     assert_response :success
-    assert_template "users/login"
+    assert_template "sessions/new"
     post "/login", :params => { :username => user.email, :password => "test", :referer => "/diary/new" }
-    assert_response :redirect
     # but now we need to look at the terms
     assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
 
@@ -64,10 +58,4 @@ class UserTermsSeenTest < ActionDispatch::IntegrationTest
     get "/traces/mine", :params => { :referer => "/diary/new" }
     assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
   end
-
-  private
-
-  def auth_header(user, pass)
-    { "HTTP_AUTHORIZATION" => format("Basic %{auth}", :auth => Base64.encode64("#{user}:#{pass}")) }
-  end
 end