|
|
(11 intermediate revisions by the same user not shown) |
Line 30: |
Line 30: |
| * API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks | | * 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 | | * 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 == | | == Signoff Criteria == |
Line 49: |
Line 65: |
| '''Tracking bug:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=777023 bug 777023] | | '''Tracking bug:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=777023 bug 777023] |
|
| |
|
| * Zac Campell is looking into this - primarily aiming to target front-end automation in Marionette in python | | * Zac Campbell is looking into this - primarily aiming to target front-end automation in Marionette in python |
|
| |
|
| == 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
| | Test cases for this feature can be found [https://moztrap.mozilla.org/manage/cases/?filter-suite=183 here]. |
| * 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
| | == References == |
| * 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 | | * [https://docs.google.com/spreadsheet/ccc?key=0AiZoGR-iOAlUdDZFdjREckFkb3dkSWl0Y0lIRmp2d0E#gid=0 Initial Test Pass on 11/9 & 11/12] |
| * 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
| |
| * 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
| |
| * 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 (name not specified)
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (price not specified)
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (price not valid)
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (invalid currency)
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (non-numerical price)
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (description 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 get an error when I request two JWTs with the same payment provider
| |
| * Test that I can make an in-app payment with no iss specified
| |
| * Test that I can make an in-app payment with no iat specified
| |
| * Test that I can make an in-app payment with no exp specified
| |
| * Test that I can make an in-app payment with a single price with no default price specified
| |
| * Test that I can make an in-app payment with UTF-8 characters in the name and description of the request
| |
| * Test that I can make an in-app payment with at least two prices specified in a valid locale
| |
| * Test that I cannot make an in-app payment with a price specified in an unsupported locale
| |
| * Test that I can make an in-app payment without productdata, postbackURL, and chargebackURL specified
| |
| * Test that I can make an in-app payment with productdata specified
| |
| * Test that I can make an in-app payment with a postbackURL and chargebackURL that points to a 404
| |
| * Test that I can make an in-app payment with a valid postbackURL and chargebackURL
| |
| * Test that I can make an in-app payment with 10 prices specified with different currencies
| |
| * Test that I get an error and no trusted UI context when I request an invalid JWT (two currencies that are the same)
| |
| * Test that I can use the keyboard within the trusted UI context to type text in
| |