storj/docs/testplan/invite-project-member-testplan.md

14 KiB
Raw Permalink Blame History

Billing Page Testplan

 

Background

This testplan is going to cover the new Billing Page. It will go over the figma design seen here - Billing Page

 

 

Test Scenario Test Cases Description Comments
Roles behaviour 1. Owner role. Can invite, remove members. Make all project operations (upload/list/download/delete/generate/accesses). Update project info and project limits.
2. Member role. Can make all project operations (upload/list/download/delete/generate/accesses). Project member shouldn't see project in the billing screen
3. Invited role. This role signifies that the member has not accepted their invitation and cannot interact with the project in any way.
Adding and removing Project Members. 4. Adding member who has an account If an invited member already has an activated user account on the project's satellite, the invitation email will contain a link that directs them to the satellite's login page.
5. Adding member who doesn't have an account If the member does not have an account, the invitation emails link will direct them to the registration page.
6. Adding member who has not activated account If the invited members account has not been activated, the invitation email will contain an account activation link and a message informing them that they will need to activate their account before they can accept the invitation.
7. Security. Existed vs unexisted user invitation Invite an existing user vs inviting an none existing user. For security reasons the behavior should be the same. If a user exists the invite should look the same. That also means at that point we can't display the user name and have to stick with the email name.
8. User's name showing. User who accept invite vs User who doesn't For user who hasn't accepted invite - we can't display the user name and have to stick with the email name. After invite was accepted the list should show the full name of the customer.
9. Invite a person who already a member Invite a person twice after the first invite was already accepted. -> Show error message about user already a member
10. Resend invitation Invite a person twice without the first invite beeing accepted. -> Show info message about duplicate
11. Invitation token expiration Invite token should have an expiration date. It should be as low as account activation. Maybe a full week would be a good balance.
12. Token inactivation after resending What should happen if Bob accepts the first invite but rejects the second invite (reminder email)?
13. Token inactivation after removing Alice invites Bob, Bob has not accepted the invite yet, Alice deletes the invite, Bob tries to accept the invite. Which error message do we show Bob? Should Alice deleting a project member also send out a notification email?
14. Invite after removing Alice removes Bob from her project and after that sends out a new invite.
15. Invitation email - special scenario Bob creates a user with the normal signup process, Bob doesn't confirm the activation email, Alice sends an invite. Which email do we send? According to the google doc we would send the account creation email but that shouldn't work here because there is already an account in our DB just not activated yet. Maybe just login the user and show him the invite instead of the signup process
16. Invite rejection after creating acc User create account but reject invite. Should they see an empty All project Dashboard?
Billing 17. Billing estimation Only Owner can see billing estimation, member can't. Security -> try send API request for estimation https://satellite.qa.storj.io/api/v0/payments/account/charges?from=1680307200&to=168207756 with Member's token
18. Invoices Project is added to invoice only for Owner, not for member
Functional 19. Search Search by name & email fields
20. Sorting Sort by name, date added (email?)
21. Paginator Amount of pages should be calculated correct
22. Drop-list for chosing amount of rows Check when change rows amount -> amount of pages changes
23. Remove user 2 ways Should be the same behaviour with user email confirmation
24. Resend invite 2 ways Should be called the same endpoints for inviting users