X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7e5cbe87ed37f9cba8224fa4049047d7f981f66a..c446ca287b7dfa79cf1722ffe950f9a38e4f74d3:/test/system/account_deletion_test.rb diff --git a/test/system/account_deletion_test.rb b/test/system/account_deletion_test.rb index 5a55c5838..729f9cccc 100644 --- a/test/system/account_deletion_test.rb +++ b/test/system/account_deletion_test.rb @@ -7,7 +7,7 @@ class AccountDeletionTest < ApplicationSystemTestCase end test "the status is deleted and the personal data removed" do - visit edit_account_path + visit account_path click_on "Delete Account..." accept_confirm do @@ -21,7 +21,7 @@ class AccountDeletionTest < ApplicationSystemTestCase end test "the user is signed out after deletion" do - visit edit_account_path + visit account_path click_on "Delete Account..." accept_confirm do @@ -32,7 +32,7 @@ class AccountDeletionTest < ApplicationSystemTestCase end test "the user is shown a confirmation flash message" do - visit edit_account_path + visit account_path click_on "Delete Account..." accept_confirm do @@ -41,4 +41,59 @@ class AccountDeletionTest < ApplicationSystemTestCase assert_content "Account Deleted" end + + test "can delete with any delay setting value if the user has no changesets" do + with_user_account_deletion_delay(10000) do + travel 1.hour do + visit account_path + + click_on "Delete Account..." + + assert_no_content "cannot currently be deleted" + end + end + end + + test "can delete with delay disabled" do + with_user_account_deletion_delay(nil) do + create(:changeset, :user => @user) + + travel 1.hour do + visit account_path + + click_on "Delete Account..." + + assert_no_content "cannot currently be deleted" + end + end + end + + test "can delete when last changeset is old enough" do + with_user_account_deletion_delay(10) do + create(:changeset, :user => @user, :created_at => Time.now.utc, :closed_at => Time.now.utc + 1.hour) + + travel 12.hours do + visit account_path + + click_on "Delete Account..." + + assert_no_content "cannot currently be deleted" + end + end + end + + test "can't delete when last changeset isn't old enough" do + with_user_account_deletion_delay(10) do + create(:changeset, :user => @user, :created_at => Time.now.utc, :closed_at => Time.now.utc + 1.hour) + + travel 10.hours do + visit account_path + + click_on "Delete Account..." + + assert_content "cannot currently be deleted" + assert_content "in about 1 hour" + end + end + end end