Skip to content

Multi‐device Refresh (MDR) Test Plan (desktop)

Stephen Donner edited this page Jun 17, 2024 · 28 revisions

Multi-device Refresh (MDR) Test Plan (desktop)

Docs:

Spec:

https://docs.google.com/document/d/13HZ5ir0bCI1c83EfrrZ_aEJqt9v9_EVUJuIggHCqntI/edit?tab=t.0#heading=h.u1umkweurnde

Roadmap:

https://github.com/brave/roadmap/issues/1243

Setup:

  • Most testing will be against the latest available beta build on Windows 10-x64/Windows 11-x64 and macOS-x64
  • We'll also test v1.61.109, as this doesn't have multi-device refresh support, but needs to work nonetheless over the old API
  • Testing will be completed against account.bravesoftware.com (staging)
  • For Leo Premium only, we'll need to run using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev

Purchases

purchase Leo Premium

Steps:

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial button
  10. complete Stripe checkout
  11. confirm You have active credentials loaded! green banner and messaging

Expected Results:

purchase VPN + Leo

Steps:

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial button on the Brave VPN section
  10. complete Stripe checkout
  11. confirm You have active credentials loaded! green banner and messaging
  12. click on Plans
  13. click on Start free trial on the Leo Premium section
  14. complete Stripe checkout

Expected Results:

purchase Brave Talk Premium

Steps:

  1. install [appropriate Brave version]
  2. load account.bravesoftware.com
  3. enter basic auth username/password
  4. enter @mailinator.com test address
  5. click Get login link
  6. click on the Log in to Brave link in the resulting email
  7. click on Browse plans
  8. click on Start free trial button for the Brave Talk Premium product
  9. complete Stripe checkout
  10. confirm Brave Talk Premium page, with Start Premium call button

Expected Results:

purchase Brave Search Premium

Steps:

  1. install [appropriate Brave version]
  2. load account.bravesoftware.com
  3. enter basic auth username/password
  4. enter @mailinator.com test address
  5. click Get login link
  6. click on the Log in to Brave link in the resulting email
  7. click on Browse plans
  8. click on Buy now button for the Brave Search Premium product
  9. complete Stripe checkout

Expected Results:

Product shows as Paid in brave://skus-internals, with an appropriate expires_at value 1 month from the original created_at date

purchase all Premium products

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial button on the Brave VPN section
  10. complete Stripe checkout
  11. confirm You have active credentials loaded! green banner and messaging
  12. click on Plans
  13. click on Start free trial on the Leo Premium section
  14. complete Stripe checkout
  15. click on Plans
  16. click on Start free trial on the Brave Talk Premium section
  17. complete Stripe checkout
  18. click on Plans
  19. click on Buy now on the Brave Search Premium section

Expected Results:

Each purchased product shows as ActiveCredentials in brave://skus-internals with a valid, extended expires_at value; should be 1 month past the initial expires_at

purchase (a) specific combination(s) of the above

Refresh (redeem) credentials

Steps:

  1. install [appropriate Brave version]
  2. launch Brave on device A
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial for Brave VPN
  10. complete Stripe checkout
  11. confirm working Brave VPN
  12. quit Brave
  13. switch to a new device, device B
  14. launch Brave
  15. log in to account.bravesoftware.com using the same @mailinator.com address you used for device A
  16. click on Refresh Leo

Expected Results:

The credentials on device B should be valid (ActiveCredentials) and mirror those of device A (same expires_at)

Max limit # of actively-linked/recovered devices {1.68.x, 1.61.x}

Steps:

  • run Refresh (redeem) credentials testcase
  • repeat for 9 devices (totaling 10)
  • confirm no errors linking
  • attempt redeeming device A credentials on device # 11

Expected Results:

Confirm visible, logical error message (exceeded recovery limit for subscription from https://github.com/brave-intl/subscriptions/pull/570/files#diff-a5ce247e55d5a20707517e34bef620f2eb369b4f9b8fa44fdfb2c18a702418e8R29)?

Auto-renew (within 5 days of exp.) {1.68.x, 1.61.x}

Steps:

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial for Brave VPN
  10. complete Stripe checkout
  11. open brave://skus-internals
  12. confirm created_at and expires_at are 1 month apart
  13. quit Brave
  14. time-travel (advance system clock) to 4 days before expires_at for VPN in brave://skus-internals
  15. relaunch Brave
  16. wait a couple minutes
  17. check brave://skus-internals

Expected Results:

Product shows as ActiveCredentials in brave://skus-internals with a valid, extended expires_at value; should be 1 month past the initial expires_at

Cancellation

Steps:

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial button
  10. complete Stripe checkout
  11. confirm You have active credentials loaded! green banner and messaging* cancel VPN
  12. click on Cancel plan
  13. click on Cancel subscription
  14. confirm Your plan has been canceled. message

Expected Results:

Product shows as Paid in brave://skus-internals, with an appropriate expires_at value 1 month from the original created_at date

Renewal

Steps:

  1. install [appropriate Brave version]
  2. launch Brave using --env-leo=staging --env-ai-chat.bsg=dev --env-ai-chat-premium.bsg=dev
  3. load account.bravesoftware.com
  4. enter basic auth username/password
  5. enter @mailinator.com test address
  6. click Get login link
  7. click on the Log in to Brave link in the resulting email
  8. click on Browse plans
  9. click on Start free trial button
  10. complete Stripe checkout
  11. confirm You have active credentials loaded! green banner and messaging* cancel VPN
  12. click on Cancel plan
  13. click on Cancel subscription
  14. confirm Your plan has been canceled. message
  15. click on Return to account
  16. confirm Your subscription has been canceled. Access until {1 month from now}.
  17. click on Renew plan

Expected Results:

Product shows as ActiveCredentials in brave://skus-internals with a valid, extended expires_at value