docs/testplan: Testplan for Automatic Account Freeze-Unfreeze (#5336)

* docs/testplan: Testplan for Automatic Account Freeze-Unfreeze

This testplan is going to cover the new account Freeze/Unfreeze. It will go over the automatic-account-freeze design doc found under docs/blueprints.

* Update automatic-account-freeze-unfreeze.md

Co-authored-by: Antonio Franco (He/Him) <antonio@storj.io>
This commit is contained in:
nadimhq 2022-12-16 09:10:57 -05:00 committed by GitHub
parent 04f16f8768
commit 9190a549ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,33 @@
# Automatic Account Freeze Unfreeze Testplan
&nbsp;
## Background
This testplan is going to cover the new account Freeze/Unfreeze. It will go over the design doc seen here - [Freeze/Unfreeze](https://github.com/storj/storj/blob/main/docs/blueprints/automatic-account-freeze.md)
&nbsp;
| Test Scenario | Test Case | Description | Comments |
|:----------------:|:-------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| Notification | Account Frozen Notification 1 | While the users account is restricted there should be a banner on top of UI notifying the user that their account is frozen because of payment problems | |
| | Insert Funding Notification | Users should be given a notification during the period before their account becomes frozen because of outstanding invoices | the notification should warn them that their account may be frozen until there is a source of funds |
| | Insert Funding Notification- Storj Token Balance | If a user has no credit card on their account file but has a Storj token balance, then users should be given a notification during the period before their account becomes frozen when they don't have enough in their Storj Token Balance | the notification should warn them that their account may be frozen until there is enough funs in their token balance to cover their bill |
| | Account Frozen Notification 2 | If a user tries uploading, downloading, or doing any action tasks- bucket creation, share they should be presented with a notification of their account being frozen and steps to fix this | |
| DB | Chore for Outstanding Invoice 1 | There should be a chore that iterates over all paid-tier users and checks for invoices that have not been paid over a specified period of time | what is the set period of time? |
| | Chore for Outstanding Invoice 2- Account Frozen Message | If said invoices have not been paid over a specified period of time then the account tied to those invoices are frozen and an message notifying them of this is sent through email | |
| | Chore for Outstanding Invoice 3- Reminder Message | If said invoices have not been paid over a specified period of time but less than the time for it to be considered an outstanding invoice, then the account tied to those invoices should not be frozen however a message notifying them of this being imminent is sent through email | |
| | Custom Limits | The new freeze table should have a column for custom limits, that should return the correct custom limits for accounts that are given said custom limits | eventually this would be phased out during phase 2, since by that time we should have an updated and worked upon account freezing procedure that shouldn't zero usage limits but still apply account freezing |
| | Event Column DB | This DB column should contain event ID, user ID and event type columns, there are two event types for each user and a user can only be under 1 event of each type. -->If the user has a warning event type then they should recieve the Insert Funding Notification and one warning mail ONCE since this event doesn't repeat the warning email--> If this isn't fixed, by user inserting funding into their account, then they get a freeze event where there account is barred from uploading or downloading data from the Storj Network. If this event doesn't exist for the user then they should be unfrozen. | |
| Account Freeze | Limit Download | While account is frozen, user should not be able to download objects | |
| | Limit Upload | While account is frozen, user should not be able to upload objects | |
| | Don't Limit ls | While account is frozen, user should be able to list objects in bucket | If we show them the files they could download after fixing the payment problem they might be more willing to pay |
| | Don't Limit Delete | While account is frozen, user should be able to delete objects in bucket | If we allow the customer to delete all files it will reduce the amount of work we have to perform. |
| | Limit Create Bucket | While account is frozen, user should not be able to create buckets | |
| | Limit Share | User should not be able to share buckets, objects etc while account is frozen | |
| | Limit Projects | User should not be able to interact with their said projects while account is frozen | |
| | Limit Project Member Usage | Project members should not be able to interact with project owner buckets, objects etc whose account is frozen | |
| | Button on Account Freeze Notification | User should be able to click a link on the notification (which leads to button the billing page) which when pressed attempts to collect payment on a frozen users outstanding invoice | would be nice to have a link that redirects to the part of the billing page containing this new button for quality of life |
| | Successful Outstanding Invoice Clear | If user clicks the link or button mentioned previously and there are funds then the account is unfrozen and user should be able to perform tasks download, upload etc | |
| | Unsuccessful Outstanding Invoice Clear | If user clicks the link or button mentioned previously and there are no funds then the account is still frozen and a new error message should pop up notifying user of insufficient funding | |
| Account Unfreeze | Restore Custom Limit | If a user had a set custom limit before they were frozen, then when they are unfrozen they should be given back said custom limits f.e project, storage limit, bandwidth limit etc | |
| ~~Unpaid User~~ | ~~Over-limit Segment Fees~~ | ~~Currently free tier users are able to use more than whats covered by the free tier coupon (1.65$) by uploading lots of small files, however this would require 10,000 or more segments to even reach over 150gb storage and egress, currently if free tier account has outstanding invoices for over a month then their limits will be placed to 0~~ | account freeze and unfreeze only applies to PAID tier users for now so this is OUT OF SCOPE | | |