B2G/QA/Identity
Jump to navigation
Jump to search
Identity
Overview
This document will cover how testing of the identity pieces should be done on the Firefox OS platform with trusted UI.
Division of Responsibility
| Test Area | Lead |
| B2G Integration Testing | Jason Smith (irc: jsmith) |
| Identity UI Regression Testing | John Morrison (irc: jrgm) |
| Identity Server-Side Testing | John Morrison (irc: jrgm) |
B2G Integration Testing
Overview
The goal of this test area is to analyze the b2g-specific implications to the identity implementation - including the DOM ID pieces and the trusted UI.
Scope
- Functional smoke and basic functional testing to ensure that trusted UI + DOM ID integration into B2G specifically works as expected
- Reusing existing QUnit automation to ensure that the existing tests still pass with the b2g-specific implementation
Signoff Criteria
Pref on Feature
- [MISSED] Smoke tests for feature should reveal no major blockers
- [DONE] QUnit Automation Suite should be green
- [DONE] Feature complete on client-side implementation
- [MISSED] No smoketest blockers
- [MISSED] Peer signoff by John & Jason
Final Signoff
- Smoke tests for feature should reveal no major blockers
- Basic functional tests for feature should reveal no major blockers
- Exploratory tests reveal no blockers for ship
- QUnit Automation Suite should be green
- No basecamp blockers for identity overall
- Bug verifications for blocker bugs
- Peer signoff by John & Jason
Infrastructure
- Use http://notoriousb2g.personatest.org/test for running QUnit automation on device
- Host test sites (e.g. people.mozilla.com) with DOM id code to test the UI directly
- Reuse existing top sites that use persona to regression test for no obvious bustage
Automation
- Reuse http://notoriousb2g.personatest.org/test to run existing persona tests on device
- For UI tests, we shall write some automation in gaia ui tests to test persona login through the trusted UI
Edge Cases
Formal Test Cases
Smoke Test Cases
- Test that I can create a persona ID through a trusted UI context with the navigator.id.watch API flow.
- Verify: No onlogin or onlogout event fired if set, trusted UI appeared with persona dialog there, entering your email account should result in a notification sent out to your email to create the account.
- Test that I can sign into persona through a trusted UI context with the navigator.id.watch API flow with an existing account.
- Verify: onlogin event should fire once if set, trusted UI appeared with persona dialog there, entering your email account should prompt for password, valid email & password combo should finish the dialog login flow and close the trusted UI dialog, valid assertion should be returned to onlogin.
- Test that I can logout of persona through a trusted UI context with the navigator.id.watch API flow from an existing account. Verify: onlogout event should fire once if set, reloading page should not fire an onlogin event.
- Verify: onlogout event should fire once if set, no trusted UI dialog should appear.
- Test that I can create a persona ID through a trusted UI context with the navigator.id.get API flow
- Verify: Assertion callback not fired, trusted UI appeared with persona dialog there, entering your email account should result in a notificaiton sent out to your email to create the account.
- Test that I can sign into persona through a trusted UI context with the navigator.id.get API flow with an existing account
- Verify: Assertion callback fired, trusted UI appeared with persona dialog there, entering your email account should prompt for password, valid email & password combo should finish the dialog login flow and close the trsuted UI dialog, valid assertion returned in assertion callback.
- Test that I can logout of persona through a trusted UI context with the navigator.id.get API flow from an existing account
- Verify: No trusted UI context should appear
Basic Functional Test Cases
- Test that I can create a persona ID through a trusted UI context with the navigator.id.getVerifiedEmail flow.
- Test that I can sign into persona through a trusted UI contxt with the navigator.id.getVerifiedEmail API flow with an existing account.
- Test that I can logout of a persona ID through a trusted UI context with the navigator.id.getVerifiedEmail.flow