Merge pull request #5514 from AntonKhorev/pd-declaration

Remove public domain checkbox from signup and terms pages
This commit is contained in:
Andy Allan 2025-02-15 14:03:55 +00:00 committed by GitHub
commit aebacc88de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 222 additions and 66 deletions

View file

@ -0,0 +1,92 @@
require "test_helper"
module Accounts
class PdDeclarationsControllerTest < ActionDispatch::IntegrationTest
##
# test all routes which lead to this controller
def test_routes
assert_routing(
{ :path => "/account/pd_declaration", :method => :get },
{ :controller => "accounts/pd_declarations", :action => "show" }
)
assert_routing(
{ :path => "/account/pd_declaration", :method => :post },
{ :controller => "accounts/pd_declarations", :action => "create" }
)
end
def test_show_not_logged_in
get account_pd_declaration_path
assert_redirected_to login_path(:referer => account_pd_declaration_path)
end
def test_show_agreed
user = create(:user)
session_for(user)
get account_pd_declaration_path
assert_response :success
end
def test_create_not_logged_in
post account_pd_declaration_path
assert_response :forbidden
end
def test_create_unconfirmed
user = create(:user)
session_for(user)
post account_pd_declaration_path
assert_redirected_to edit_account_path
assert_nil flash[:notice]
assert_equal "You didn't confirm that you consider your edits to be in the Public Domain.", flash[:warning]
user.reload
assert_not_predicate user, :consider_pd
end
def test_create_confirmed
user = create(:user)
session_for(user)
post account_pd_declaration_path, :params => { :consider_pd => true }
assert_equal "You have successfully declared that you consider your edits to be in the Public Domain.", flash[:notice]
assert_nil flash[:warning]
user.reload
assert_predicate user, :consider_pd
end
def test_create_already_declared_unconfirmed
user = create(:user, :consider_pd => true)
session_for(user)
post account_pd_declaration_path
assert_nil flash[:notice]
assert_equal "You have already declared that you consider your edits to be in the Public Domain.", flash[:warning]
user.reload
assert_predicate user, :consider_pd
end
def test_create_already_declared_confirmed
user = create(:user, :consider_pd => true)
session_for(user)
post account_pd_declaration_path, :params => { :consider_pd => true }
assert_nil flash[:notice]
assert_equal "You have already declared that you consider your edits to be in the Public Domain.", flash[:warning]
user.reload
assert_predicate user, :consider_pd
end
end
end

View file

@ -52,13 +52,12 @@ module Accounts
user = create(:user, :terms_seen => false, :terms_agreed => nil)
session_for(user)
put account_terms_path, :params => { :user => { :consider_pd => true }, :read_ct => 1, :read_tou => 1 }
put account_terms_path, :params => { :read_ct => 1, :read_tou => 1 }
assert_redirected_to edit_account_path
assert_equal "Thanks for accepting the new contributor terms!", flash[:notice]
user.reload
assert user.consider_pd
assert_not_nil user.terms_agreed
assert user.terms_seen
end
@ -67,13 +66,12 @@ module Accounts
user = create(:user, :terms_seen => false, :terms_agreed => nil)
session_for(user)
put account_terms_path, :params => { :user => { :consider_pd => true }, :referer => "/test", :read_ct => 1, :read_tou => 1 }
put account_terms_path, :params => { :referer => "/test", :read_ct => 1, :read_tou => 1 }
assert_redirected_to "/test"
assert_equal "Thanks for accepting the new contributor terms!", flash[:notice]
user.reload
assert user.consider_pd
assert_not_nil user.terms_agreed
assert user.terms_seen
end