83 lines
2.3 KiB
Ruby
83 lines
2.3 KiB
Ruby
require "application_system_test_case"
|
|
|
|
class AccountTermsTest < ApplicationSystemTestCase
|
|
test "should inform about terms if not agreed" do
|
|
user = create(:user, :terms_seen => true, :terms_agreed => nil, :tou_agreed => nil)
|
|
|
|
sign_in_as(user)
|
|
visit account_path
|
|
|
|
within_content_body do
|
|
assert_text(/You have not yet agreed to.*Contributor Terms/)
|
|
assert_text(/You have not yet agreed to.*Terms of Use/)
|
|
assert_link "Review and accept the Terms"
|
|
|
|
click_on "Review and accept the Terms", :match => :first
|
|
end
|
|
|
|
assert_current_path account_terms_path
|
|
end
|
|
|
|
test "should inform about terms if partially agreed" do
|
|
user = create(:user, :terms_seen => true, :terms_agreed => "2022-03-14", :tou_agreed => nil)
|
|
|
|
sign_in_as(user)
|
|
visit account_path
|
|
|
|
within_content_body do
|
|
assert_text(/You have agreed to.*Contributor Terms.*March 14, 2022/)
|
|
assert_text(/You have not yet agreed to.*Terms of Use/)
|
|
assert_link "Review the Terms"
|
|
assert_link "Review and accept the Terms"
|
|
|
|
click_on "Review and accept the Terms", :match => :first
|
|
end
|
|
|
|
assert_current_path account_terms_path
|
|
end
|
|
|
|
test "should inform about terms if agreed" do
|
|
user = create(:user, :terms_seen => true, :terms_agreed => "2023-04-15", :tou_agreed => "2024-05-16")
|
|
|
|
sign_in_as(user)
|
|
visit account_path
|
|
|
|
within_content_body do
|
|
assert_text(/You have agreed to.*Contributor Terms.*April 15, 2023/)
|
|
assert_text(/You have agreed to.*Terms of Use.*May 16, 2024/)
|
|
assert_link "Review the Terms"
|
|
|
|
click_on "Review the Terms", :match => :first
|
|
end
|
|
|
|
assert_current_path account_terms_path
|
|
end
|
|
|
|
test "should ask to consider pd if not considered" do
|
|
user = create(:user, :consider_pd => false)
|
|
|
|
sign_in_as(user)
|
|
visit account_path
|
|
|
|
within_content_body do
|
|
assert_text(/You haven't declared.*Public Domain/)
|
|
assert_link "Consider Public Domain"
|
|
|
|
click_on "Consider Public Domain"
|
|
end
|
|
|
|
assert_current_path account_pd_declaration_path
|
|
end
|
|
|
|
test "should not ask to consider pd if considered" do
|
|
user = create(:user, :consider_pd => true)
|
|
|
|
sign_in_as(user)
|
|
visit account_path
|
|
|
|
within_content_body do
|
|
assert_text(/You have also declared.*Public Domain/)
|
|
assert_no_link "Consider Public Domain"
|
|
end
|
|
end
|
|
end
|