canvas-lms/app
August Thornton 2a8b3c95a4 Add QR for Mobile Login link to /profile routes
closes USERS-458
flag=mobile_qr_login

This commit changes how we're adding the link to render the mobile
QR code modal. We're going to be using the profile tab approach
instead of adding it directly to the global profile tray. This
will allow it to exist not only in the global profile tray, but
the user profile, and even the global mobile nav. The QR for mobile
link tab will show up for any active path under '/profile'

Test Plan:
 - Ensure your version of canvas has an up to date
   instructure_misc_plugin
 - create a developer key
 - add https://sso.canvaslms.com/canvas/login as its only redirect URI
 - In a rails console
   - a = Account.default
   - a.settings[:ios_mobile_sso_developer_key_id] = <dev key global id>
   - a.save!
   - a.account_domains.create!(name: 'sso.canvaslms.com')

With the :mobile_qr_login feature flag enabled:

*Web View*
 - Navigate to '/'
 - Open the profile tray and click 'QR for Mobile Login'
 - Ensure the QR code image is generated with the title and expire tag
 - Navigate to '/profile'
 - Click on 'QR for Mobile Login' on the left hand side section tabs
 - Ensure the QR code image is generated with the title and expire tag

*Mobile Web View*
 - Shrink browser horizontally until Canvas web view is rendered
 - Click on the down carrot menu at the top of the global nav
 - Click on 'QR for Mobile Login' option at the bottom
 - Ensure the QR code image is generated with the title and expire tag
 - Click on the hamburger menu in the top left
 - Select the Account drop-down
 - Click on 'QR for Mobile Login'
 - Ensure the QR code image is generated with the title and expire tag

- 'QR for Mobile Login' link tab should only appear for paths
  under '/profile'

With the :mobile_qr_login feature flag disabled:

 - Verify the 'QR for Mobile Login' link tab does not appear
   in any of the above locations previously tested
 - Hitting the '/profile/qr_for_Mobile' path directly renders
   a 404

Change-Id: If69d5f3a7526f7aa84cfae22d0747e5afd2d617b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232750
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
2020-04-08 21:38:26 +00:00
..
coffeescripts Responsive Inbox - message layout 2020-04-08 16:32:58 +00:00
controllers Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
graphql add notification preferences to graphql 2020-04-06 18:20:45 +00:00
helpers Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
jsx Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
messages remove unused assignment_unmuted notification 2020-03-06 20:52:31 +00:00
middleware identify LTI tools doing grade passback as a unique throttling bucket 2020-02-14 20:48:20 +00:00
models Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
observers Add conversation message created live event 2020-04-07 19:30:23 +00:00
presenters Add QR for Mobile Login link to /profile routes 2020-04-08 21:38:26 +00:00
serializers a new endpoint to return both NQ and Old quiz json 2019-12-16 19:36:38 +00:00
stylesheets Responsive Inbox - message layout 2020-04-08 16:32:58 +00:00
views Responsive Inbox - message layout 2020-04-08 16:32:58 +00:00