LF-3365 Test Plan

https://lite-farm.atlassian.net/browse/LF-3365

Area / scope to test

Front end

Back end

Model

Notes

Area / scope to test

Front end

Back end

Model

Notes

Requirement specific constraints

  • Ensure that the user is able to create a repeating crop plan using API tool ( Postman )

  • Ensure that in the database all the information is stored correctly

 

Role based constraints

  • Only FO/FM/EO should be able to see this screen

  • Ensure that FW is not able to repeat the crop plan

N/A

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

N/A

N/A

N/A

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

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

N/A

N/A

N/A

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

N/A

N/A

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

Timezone driven interactions

 

 

 

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

Interaction / transitioning UI based constraints

Per UI, user must…

  • Title: info icon and “Plan repeats”

    • Label and text: “Beginning”

    • Label and text: “This plan will repeat”

    • Label and text: “Finishing ”

      • Value:

        • If “On” had been selected from https://lite-farm.atlassian.net/browse/LF-3362, display “on <date_to_finish>.”

          • <date_to_finish> should include the day of the week

          • <date_to_finish> should be in the date format for the users localization

        • If “After” had been selected “after <Y> repetitions.”

          • <Y> should be bolded

      • Label and text: “This will create”

        • Value: “<X> new crop plans and <Y> new tasks”

        • <X> and <Y> should be bolded

  • Primary button: “Modify”

  • Secondary button: “Cancel repetition”

N/A

N/A

Is the UI transitioning appropriately? Is the API providing da

Flow based constraints

  • User should be able to see the following transitions:

    • The card smoothly collapse and disappear when “Cancel repetition” is selected

    • The user should be able to perform the following actions:

    • Click “Modify” to view https://lite-farm.atlassian.net/browse/LF-3362 with all data for this repeated plan pre-populated

    • Click “Cancel repetition” to discard all data stored in this card and make it disappear

N/A

N/A

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 constraints

N/A

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

N/A

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

  • Ensure that once the user completes the flow the notification would be displayed

N/A

N/A

Should a notification be marshalled based on this action?

Cascading effects

  • Ensure that after the user has created the repeated crop plan , he is able to change the assignee for the tasks

  • Ensure that the user still able to complete / Abandon / Delete the created tasks in the repeated crop plan

N/A

N/A

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?

Concurrency

N/A

N/A

N/A

How do changes made to records affect other users on the farm? e.g. What happens when a record is soft deleted while another user is viewing said record?