LF-3307 Test Plan

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

Currently 424 farms would experience this error in production

Area / scope to test

Front end

Back end

Model

Notes

Area / scope to test

Front end

Back end

Model

Notes

Requirement specific constraints

  • Test as per Jira ticket.

  • Test cascading effects

 

Using this query SELECT * FROM farm f LEFT JOIN "organicCertifierSurvey" ocs ON f.farm_id = ocs.farm_id WHERE ocs.farm_id IS NULL AND f.created_at < '2021-01-31';

Ensure that

The values needed for updating / migrating new organicCertifierSurvey are:

  • survey_id: auto generated UUID

  • farm_id: Taken from list

  • created_by_user_id: 1 or NULL

  • created_by_user_id: 1 or NULL

  • created_at: 2000-01-01 00:00:00+00

  • updated_at: 2000-01-01 00:00:00+00

  • interested: FALSE

  • deleted: FALSE

  • requested_certification: NULL

  • requested_certifier: NULL

  • certifier_id: NULL

  • certification_id: NULL

 

Role based constraints

N/A

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

Ensure that the user that is pursuing the certification is able to change the preference ( for ex. From organic certification to Participatory guarantee system )

N/A

Ensure that in the database the certification status is displayed correctly.

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

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

Once the certification preferences were successfully saved the “Export” page should be displayed

N/A

N/A

Is the UI transitioning appropriately? Is the API providing da

Flow based constraints

Ensure that clicking “<“ from “Who is your certifier?” will not result in the loss of already entered information.

 

 

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

Ensure that the data is persisted in the database once the user make the changes in certification preferences.

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

Ensure that the desired certifier is only selected on the farm where it was requested.

 

 

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

Notification constraints

 

 

 

Should a notification be marshalled based on this action?

Cascading effects

  • Ensure that the user can create a task after changing certification preferences

  • Ensure that the user can export his certification documents.

 

 

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

Ensure that the certification preferences are displayed accordingly to all the users in the farm.

 

 

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?