B2G/QA/WebAPI Test Plan/WebPayment: Difference between revisions
< B2G | QA | WebAPI Test Plan
Jump to navigation
Jump to search
No edit summary |
|||
Line 69: | Line 69: | ||
== Test Cases == | == Test Cases == | ||
* Test that I can make an in-app purchase against the mock payment provider on first page of the trusted UI | * [MIGRATED] Test that I can make an in-app purchase against the mock payment provider on first page of the trusted UI | ||
* Test that I can make an in-app purchase against the mock payment provider on second page of the trusted UI | * [MIGRATED] Test that I can make an in-app purchase against the mock payment provider on second page of the trusted UI | ||
* Test that I can choose and select between two different payments if multiple JWTs are requested | * [MIGRATED] Test that I can choose and select between two different payments if multiple JWTs are requested | ||
* Test that I receive a phone call while I'm in the trusted UI, that I can complete the phone call and return to the trusted UI context | * [MIGRATED] Test that I receive a phone call while I'm in the trusted UI, that I can complete the phone call and return to the trusted UI context | ||
* Test that I can be notified with a connection failure if there's no connection while I'm in the trusted UI | * [MIGRATED] Test that I can be notified with a connection failure if there's no connection while I'm in the trusted UI | ||
* Test that I can leave the trusted UI context back to the homescreen | * [MIGRATED] Test that I can leave the trusted UI context back to the homescreen | ||
* Test that I can close an active trusted UI context to generate an onerror callback | * [MIGRATED] Test that I can close an active trusted UI context to generate an onerror callback | ||
* Test that I can return back to an existing trusted UI context by entering an app in that context currently | * [MIGRATED] Test that I can return back to an existing trusted UI context by entering an app in that context currently | ||
* Test that I can see which apps in task manager are in a trusted UI context vs. not | * [OOS] Test that I can see which apps in task manager are in a trusted UI context vs. not | ||
* Test that I can cancel an in-app purchase through the trusted UI context on first page of the trusted UI | * Test that I can cancel an in-app purchase through the trusted UI context on first page of the trusted UI | ||
* Test that I can cancel an in-app purchase through the trusted UI context on second page of the trusted UI | * Test that I can cancel an in-app purchase through the trusted UI context on second page of the trusted UI |
Revision as of 03:34, 15 November 2012
WebPayment
Summary
Lead | Jason Smith (irc: jsmith) |
API Description | Allows for monetary payments for a virtual good |
API Developer | Fernando Jimenez Moreno |
API Project Page | WebPayment |
API Tracking Bugs | Bug 767818 |
API Status | Landed |
Overview
This document will cover testing the web payment API that tests the API itself and the trustworthy UI used on device. Other portions of payment testing such as identity integration, marketplace integration, etc shall be covered in different docs. Therefore, the testing is broken into two areas here:
- API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks
- End-to-End functional testing with mozPay and trustworthy UI isolating marketplace bits out - Ensure trustworthy UI use cases work as expected
Edge Cases
- First vs. second page of trusted context
- Multiple JWT requests - same vs. different payment providers
- Web activities firing during trusted UI flow (e.g. phone call)
- No network connection
- Temporary vs. permanent exit of trusted UI context
- Returning to an existing trusted UI context from lockscreen, task switcher, etc
- Trusted UI context in the task manager
- Canceling purchases
- Multiple trusted UI contexts running
- Exit to task switcher, lockscreen, etc
- Background pages & payments
- Invalid JWT values for client-side validation
- Keyboard use during trusted UI context
Signoff Criteria
- All basecamp blockers are closed
- All smoke tests and basic functional tests are ran without finding any basecamp blockers
Test Case Management
- Test cases shall be tracked in MozTrap tagged with "gaia" and "payments"
Infrastructure
- A mock payment provider shall be used for testing the payment API and trustworthy UI - Mock Payment Provider
- A payments test case repository shall be used for tracking test cases - Payment Tests
Automation
Tracking bug: bug 777023
- Zac Campbell is looking into this - primarily aiming to target front-end automation in Marionette in python
Test Cases
- [MIGRATED] Test that I can make an in-app purchase against the mock payment provider on first page of the trusted UI
- [MIGRATED] Test that I can make an in-app purchase against the mock payment provider on second page of the trusted UI
- [MIGRATED] Test that I can choose and select between two different payments if multiple JWTs are requested
- [MIGRATED] Test that I receive a phone call while I'm in the trusted UI, that I can complete the phone call and return to the trusted UI context
- [MIGRATED] Test that I can be notified with a connection failure if there's no connection while I'm in the trusted UI
- [MIGRATED] Test that I can leave the trusted UI context back to the homescreen
- [MIGRATED] Test that I can close an active trusted UI context to generate an onerror callback
- [MIGRATED] Test that I can return back to an existing trusted UI context by entering an app in that context currently
- [OOS] Test that I can see which apps in task manager are in a trusted UI context vs. not
- Test that I can cancel an in-app purchase through the trusted UI context on first page of the trusted UI
- Test that I can cancel an in-app purchase through the trusted UI context on second page of the trusted UI
- Test that I can run multiple trusted UI contexts across different apps for different payments
- Test that I can exit to the task switcher while I'm in the trusted UI context
- Test that I can exit to the lockscreen while I'm in the trusted UI context
- Test that I can return to a trusted UI context from the lockscreen
- Test that I can return to a trusted UI context through the task switcher
- Test that I cannot request a trusted UI context within a background page running
- Test that I get an error and no trusted UI context when I request an invalid payment provider (typ wrong)
- Test that I get an error and no trusted UI context when I request an invalid payment provider (typ not specified)
- Test that I get an error and no trusted UI context when I request an invalid JWT (request not specified)
- Test that I get an error and no trusted UI context when I request an invalid JWT (not valid JSON)
- Test that I can use the keyboard within the trusted UI context to type text in