Skip to content

Conversation

@Julesssss
Copy link
Contributor

@Julesssss Julesssss commented Dec 8, 2021

Details

Implement the 'Close account' feature under security settings. Users need to be able to close their accounts (with some exceptions) or Apple will block us from making new app updates. Parent issue.

Fixed Issues

$ https://github.com/Expensify/Expensify/issues/186628

Tests

1) Ensure that close account feature matches the design

  • Create a new user, validate them with the account validator tool
  • Log in, navigate to Settings
  • You should see a 'Security' submenu, click it
  • You should see a 'Close Account' option, click it
  • You should see a 'What can we do to improve' input field
  • You should see a 'Type *** to confirm' input field, where *** is the users email/phone number
  • The input and logic for detecting a match should NOT be case sensitive
  • You should see a warning that this action cannot be undone, and it should be bold
  • When you enter the users email or phone number in the bottom field, the 'Close account' button should become enabled

Screenshot_1641834168

2) Ensure that new users can close their account

  • [You should probably do this test web to simplify the API validation step]
  • Create a new user, validate them with the account validator tool
  • Log in, navigate to Settings
  • Enter a reason for leaving
  • Enter the users' email or phone number
  • Open a debugging window, to ensure you can review the API request details
  • Click 'Close account'
  • You should be logged out
  • You should see an 'Account closed successfully' Growl
  • The text entered into the reason field should have been sent via the API request
CloseAccount2.mov

3) Ensure that some users cannot close their account

  • Log in to an account that is awaiting reimbursement
  • Navigate to Settings > Security > Close Account
  • Attempt to close the account
  • You should see a Modal stating that you are unable to close the account
  • The Modal should contain a link to https://community.expensify.com/discussion/4724/faq-why-cant-i-close-my-account
CloseAccountWeb.mov

4) Ensure that users with phone numbers have the option to close their account

  • Log in to an account which was set up with a phone number
  • Navigate to Settings > Security > Close Account
  • The input label should say Type [NUMBER] to confirm
  • Enter the listed number, the 'Close Account' button should become active
CloseAccountPhoneiOS.mov

QA Steps

Run the three above tests

Tested On

  • Web
  • Mobile Web
  • Desktop
  • iOS
  • Android

Screenshots

Web

Screenshot 2022-01-10 at 15 49 24

Mobile Web

Screenshot_1641833931

Desktop

Screenshot 2022-01-10 at 15 49 24

iOS

CloseAccountPhoneiOS.mov

Android

Screenshot_1641834168

@Julesssss Julesssss self-assigned this Dec 8, 2021
@Julesssss Julesssss force-pushed the jules-closeAccount2 branch from 320a0ad to 3f91c4b Compare December 9, 2021 18:05
@Julesssss Julesssss force-pushed the jules-closeAccount2 branch from 6c54377 to e8bb4fc Compare January 5, 2022 13:31
@Julesssss Julesssss force-pushed the jules-closeAccount2 branch from 2faf550 to 5bc4f98 Compare January 7, 2022 17:47
@Julesssss Julesssss marked this pull request as ready for review January 10, 2022 18:15
@Julesssss Julesssss requested a review from a team as a code owner January 10, 2022 18:15
@MelvinBot MelvinBot requested review from robertjchen and removed request for a team January 10, 2022 18:16
@Julesssss
Copy link
Contributor Author

Hey @robertjchen 👋

By the time I noticed that my original commit's parent was not from main, I had already rebased 😞 .

Usually I would simply rebase or cherry-pick to remove the useless commits (and I did attempt this), but because this PR has been in progress since before Christmas, and because I had already rebased onto a newer commit the conflicts were a complete nightmare.

But I'm happy to try cherry-picking tomorrow if you think it's necessary.

Copy link
Contributor

@robertjchen robertjchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect!!

@robertjchen robertjchen merged commit a2e1cf8 into main Jan 11, 2022
@robertjchen robertjchen deleted the jules-closeAccount2 branch January 11, 2022 10:43
@OSBotify
Copy link
Contributor

✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by @robertjchen in version: 1.1.27-2 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by @robertjchen in version: 1.1.27-3 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 failure ❌
🕸 web 🕸 success ✅

@OSBotify
Copy link
Contributor

🚀 Deployed to staging by @robertjchen in version: 1.1.27-3 🚀

platform result
🤖 android 🤖 skipped 🚫
🖥 desktop 🖥 skipped 🚫
🍎 iOS 🍎 skipped 🚫
🕸 web 🕸 skipped 🚫

@mvtglobally
Copy link

mvtglobally commented Jan 12, 2022

@robertjchen, @Julesssss We are unable to create a new Phone number accounts and team has a very limited number of such accounts available. Can you confirm what 1-2 environments do you want to run this QA on?
Rest of the steps will be QA-ed on all platforms. Question above is only about SMS account

@Julesssss
Copy link
Contributor Author

Julesssss commented Jan 13, 2022

@mvtglobally ah, right. Please ignore the SMS test for now. I will retest once we re-enable the feature.

Can you confirm what 1-2 environments do you want to run this QA on?

Please test on staging.

@OSBotify
Copy link
Contributor

🚀 Deployed to production by @Jag96 in version: 1.1.29-5 🚀

platform result
🤖 android 🤖 success ✅
🖥 desktop 🖥 success ✅
🍎 iOS 🍎 success ✅
🕸 web 🕸 success ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants