LF -2848 Test plan

Augment the existing varietal creation flow https://lite-farm.atlassian.net/browse/LF-2848

Area / scope to test

Front end

Back end

Model

Notes

Area / scope to test

Front end

Back end

Model

Notes

Requirement specific constraints

New UI elements as described by the Jira ticket:

  1. “Tell us about the specific varietal or cultivar you intend to grow” label

  2. Crop type name and scientific name labels

  3. Left aligned image upload

  4. Varietal label and input field

  5. Cultivar label and input field

  6. Link and label: “+ Customize image for varietal or cultivar”

Additional properties in POST request:

  • Varietal

  • Cultivar

New properties persisted in the database on flow completion

 

Role based constraints

FW cannot access add new varietal view via UI, or directly via URL

Ensure only FO/FM/EO can successfully post to this end point

N/A

Does role determine what a user can see or do? Is this enforced uniformly across the front end and back end?

User preferences constraints

All copy is in users preferred language

 

 

Is this impacted by user or farm preferences such as language, system of measure, certification status?

Farm-level defaults / preferences

N/A

N/A

N/A

 

Numerical input constraints

N/A

N/A

N/A

Do we appropriately handle negative, very small, very large, or 0 as inputs?

Text input constraints

  • Cultivar is alpha-numeric inputs between 0 and 255 characters in length

  • Varietal is alpha-numeric inputs between 0 and 255 characters in length

  • Varietal is alpha-numeric inputs between 0 and 255 characters in length

  • Cultivar is alpha-numeric inputs between 0 and 255 characters in length

 

Do we appropriately handle blank, very small, and very large inputs? Is there a strict format (such as email) that must be followed?

Date based constraints

N/A

N/A

N/A

Are there logical restrictions on what dates can be input? Should a use be able to complete something in the future for example.

Date based assumptions

N/A

  • Creation time should be in user’s time converted to UTC

N/A

Are we making valid assumptions about what dates should be allowed?

Timezone driven interactions

N/A

N/A

N/A

If timezones play a role in the data, are they being displayed or converted appropriately?

Interaction / transitioning UI based constraints

  • Validation error below varietal if input isn’t alpha-numeric inputs between 0 and 255 characters in length

  • Validation error below cultivar if input isn’t alpha-numeric inputs between 0 and 255 characters in length

  • Clicking “+ Customize image for varietal or cultivar” opens the device camera or file uploader

  • Clicking help text next to “+ Customize image for varietal or cultivar” opens the help text

  • When placing a cursor into a field with microcopy, the microcopy should disappear and reappear when focus is off the field

  • When all required fields (Common name, Annual / Perennial) are populated, enable the “Save” button and disable it if fields are cleared

  • “Learn more about varietals here” clicking “here” links to cultivar and varietals writeup on the website in a new tab

  • “Learn more about cultivars here” clicking “here” links to cultivar and varietals writeup on the website in a new tab

  • Clicking “Save“ saves all fields including new fields in the store and if seeking certification transitions to the compliance info view. If not seeking certification persists

N/A

N/A

Is the UI transitioning appropriately? Is the API providing da

Flow based constraints

  • Clicking “<“ from compliance info step transitions the user back to the varietal creation view, retrieves previous inputs from the store and populates fields

  • Clicking “<“ saves all fields including new fields in the store and transitions the user back to the new crop view. Consequently clicking Continue on the crop view transitions the user back to the varietal creation view, retrieves previous inputs from the store and populates fields

  • Test on both the new crop creation flow and creating a new cultivar / varietal from an existing crop_type

 

 

Is state being preserved appropriately in a flow? If I go back and then forth, is it maintained? Is state invalidated when it should be?

Synchronous / asynchronous constraints

N/A

N/A

N/A

Is the interaction synchronous, asynchronous, or does it support both? Can you simulate both if so?

Time-out / low bandwidth constrains

  • Standard “error” snack bar

N/A

N/A

Does the feature fail gracefully under no bandwidth / low bandwidth environments?

Data transformation correctness

N/A

N/A

N/A

Are values appropriately updated when units change? Is it WYSIWYG?

Outcome correctness

  • A custom image is displayed for a new varietal when one is supplied during varietal creation

N/A

N/A

When inputting known inputs with expected outputs - do you get the results you expect? Have you tested several “cases” of this?

Switching farms

N/A

N/A

N/A

Does this feature respond well to switching farms (and returning)?

Notification constraints

N/A

N/A

N/A

Should a notification be marshalled based on this action?

Cascading effects

  • You can still create a varietal without new fields

  • Verify 2 varieties with the same varietal and cultivar exist on the same farm and across farm

  • If farm is pursuing certification, should show certification specific varietal fields

  • New custom image doesn’t overwrite other varietals

N/A

  • You can still create a varietal without new fields

  • Verify 2 varieties with the same varietal and cultivar exist on the same farm and across farms

Are there logical places

Integration constrains

N/A

N/A

N/A

Do we need to ensure state is consistent between LiteFarm and the external service? What failure cases do we need to handle? How do we report back the outcome to the user or external service?