Shopify POS Specs
Shopify POS + Forms
JIRA: https://powrtrak.atlassian.net/browse/PM-6209
Juwan Bepo
Last Modified: April 11, 2019
Mocks of Shopify POS View of Form Builder on mobile device
Summary
Form Builder is integrating with the Shopify POS App to enable merchants to gather feedback in forms from customers at the point of sale. We will create a “stripped down” users/me for POS on mobile and tablet devices, so merchants can load POWr Forms and customers can fill them out as quickly as possible and without the extra elements of our current users/me.
IMPORTANT NOTES:
- Overview of Shopify POS: https://help.shopify.com/en/api/embedded-apps/shopify-pos-app-sdk
- Please review and work on existing branch: shopify-pos https://gitlab.com/powr/powr/merge_requests/2430/diffs
- How to use our App on Shopify POS. If you want to test locally, first sync with Ben on how to do this. This is NOT essential to get started on this task, but will be necessary for testing. https://www.getoutline.com/doc/how-to-test-shopify-pos-O799pq1tBL
- We have two options to create the Shopify POS View. Option 1 is to use existing users/me and add if / else conditions everywhere. This is likely to become jank. Option 2 is to create a new page for shopify POS using just the elements we need from users/me. This is probably the cleaner / recommended option.
SPECS
POS View = “/shopify/pos/:app_type”
Scenario: Visiting /shopify/pos/:app_type (a.k.a. POS View) should load Shopify POS View shown in mock above
WHEN a user visits /shopify/pos/form-builder,
THEN the Shopify POS View should be displayed with the title “My Forms” \ AND my published forms should be displayed (forms where App.content is not nil)
AND other published apps (eg FAQ) should NOT be displayed
Scenario: POS View should display “Create New Form” cta on accounts with no forms
Given a user has not created any forms in their POWr account,
When Form Builder POS view is loaded,
Then the page should display a “Create New Form” button. \ And clicking the button should link to standalone.
Scenario: Selecting the card for a form in Shopify POS View will load /view in POS app
Given a user loads Form Builder in POS,
When the user clicks anywhere on the app card for a form,
Then the form should load /view in the POS app
I.e. when a card is selected, customers should be able to fill out the form on the screen that loads
Scenario: Selecting the “Select Form” CTA for a form in Shopify POS View will load /view in POS app
Given a user loads Form Builder in POS,
When the user clicks the “Select Form” button on a card,
Then the form should load /view in the POS app
Scenario: Selecting the card menu should load “Submissions” and open form response dashboard in POS
Given a user selects the 3 dots menu on the top right of form card,
When the user selects the “Submissions” link,
Then the Form Response Dashboard should load
Scenario: Selecting the card menu should load “Upgrade” and load /pricing in mobile browser
Given a user selects the menu on a form card,
When the user selects the “Upgrade” link,
Then powr.io/pricing should load
Scenario: Selecting the card menu should load “Delete”
Given a user selects the menu on a form card,
When the user selects the “Delete” link,
Then the existing delete warning modal should appear and display the text “Are you sure? This will delete this form!”
Scenario: CTA to create a new form should open in POS app
Given a user without any forms loads Form Builder in POS,
When the user selects the “Create New Form” button,
Then Form Builder /standalone should load in POS
Scenario: Shopify POS App Fullscreen Apps should load POS View and user should be automatically signed in.
See: https://help.shopify.com/en/api/embedded-apps/shopify-pos-app-sdk
Scenario: Shopify POS App Edit Cart Action should load POS View and user should be automatically signed in.
See: https://help.shopify.com/en/api/embedded-apps/shopify-pos-app-sdk
Scenario: Shopify POS App Order Complete Action should load POS View and user should be automatically signed in.
See: https://help.shopify.com/en/api/embedded-apps/shopify-pos-app-sdk
Juwan’s Notes -- 04/17/2019:
- POWr Staging opens a new /standalone Form. It should open users/me containing a list of the user’s forms.
- Menu in Form /standalone in POS should only contain the user’s email address, “My Forms” in lieu of “My Plugins”, and “Upgrade”
- When selecting “My Plugins” from the /standalone menu, the mobile browser opens, redirects to powr-staging.io, and prompts the user to sign in. “My Plugins” should open directly in the POS native browser.