ITX-22 Shopify Email Notification Setup

Story brief

As a user, I should be able to set an email address on Fleet Shopify Setup to receive error notifications for jobs that were not pushed through Fleet.

Owner: Christopher Bryan Rabang

Points: 5

Points reference story: <story pointing reference>

Acceptance Criteria

DescriptionStatus
There should be a 4th step in the Setup of Fleet Shopify App where the user can set an email address to receive error notifications.(tick) 

The 4th step will include the following:

  • Label: “Email Notification

  • Instruction:
    “Set an email address to receive error notifications for jobs that were not pushed through Fleet due to the following reasons:
    1. City from the order address is not a covered area of any hub.
    2. Chosen shipping method for the order does not exist in the setup.
    3. Invalid character lengths.

  • Text Field: Email address (required)

(tick) 
The user should be able to save only 1 valid email address.(tick) 

There should be a Toast notification when the user tries to save an email address with an invalid format.
Toast notification message: “Please enter a valid email address.”


Please see the table below for list of valid and invalid email address formats:

Acceptable email prefix formats

  • Allowed characters: letters (a-z), numbers, underscores, periods, and dashes.

  • An underscore, period, or dash must be followed by one or more letters or numbers.


Acceptable email domain formats

  • Allowed characters: letters, numbers, dashes.

  • The last portion of the domain must be at least two characters, for example: .com, .org, .cc

(tick) 
The user should be able to replace the existing email address with a different email address.(tick) 
There is a “Previous” button to go back to the previous step.(tick) 
There is a “Save and Exit” button to finish the setup.(tick) 
When the user hovers over the Setup icon in Fleet Shopify App, the user should see an information about the Setup: “Edit your Covered Areas, Shipping Method, Remarks, and Email notification.”(tick) 

Scope

  • Scenario 1: No email address
    GIVEN the step 4 in Fleet Shopify Setup
    WHEN the user tries to save and exit without setting an email address
    THEN the user shall not be able to save and exit the Setup
    AND a toast notification should appear to inform the user to enter a valid email address
  • Scenario 2: Set an email address
    GIVEN an email address where the user wants to receive error notifications
    WHEN the user inputs the email address in step 4 of Fleet Shopify Setup and save.
    THEN the email address should receive error notifications for jobs that were not pushed through Fleet.
  • Scenario 3: Change email address
    GIVEN an existing email address in step 4 of Fleet Shopify App
    WHEN the user replace the email address with a different email address and save
    THEN the new email address should receive error notifications for jobs that were not pushed through Fleet
    AND the old email address shall not be able to receive error notification

Task

Task bullet with estimate

  • Documentation (1h)
  • Code Review  (2h)
  • Test script creation (1h)
  • Test script review (1h)
  • Test script execution (1h)
  • UI Implementation (3h)
  • Backend Implementation (1h)
Total hrs: 

Functional Documentation

  1. Login to the app using the user's Fleet Account and fill up all needed information from Step 1 to Step 3.


2. After clicking the "NEXT" button, the user will now be navigated to Step 4. Email Notification. Just fill up the field with the desired email address where future errors will be sent and click "Save and Exit"A notification will pop up and the user has now successfully setup his/her Email Notification.

Definition of Done

CriteriaDescription
Created task/feature on trello with the story brief ITX-22 - Getting issue details... STATUS
Created git branchITX-22 Shopify Email Notification Setup
Merged to master

(tick) 

Code Review
Functional Testing

(tick)

Test scriptsITX-22 Shopify Email Notification Setup
Test script review

(tick) 

Functional Documentation

(tick) 

Deployed to BETA

(tick) 

Met all Acceptance criteria

(tick)

Approved and accepted by: 

Notable Remarks:

Detailed remarks in bullet if any