tests: improve dx
Related to #000
What does this MR do and why?
This MR improves DX and removes a lot of code that was unnecessary
- Adds autocompletion and type checking on mocked store
before | after |
---|---|
Zero type checking. | Type checking, you can provide a single value of an object if a component does not uses the whole state. |
This also corrects, some cases where the values given to the store was unused / not of the type expected
-
Removes
<Provider>
that were used for no reason in tests files that were not accessing any state. -
Remove
useSelectorSpy.mockReturnValue(globalStateData)
andmockUseSelector.mockReturnValue
because sometimes dupplicate store were used. And its better to have redux mocks harmonized. -
removes duplicate mocked states files and harmonize file names
Screenshots or screen recordings
These are strongly recommended to assist reviewers and reduce the time to merge your change.
How to set up and validate locally (or on alpha)
List all steps to set up and validate the changes on local environment.
MR acceptance checklist
To be completed by the chosen reviewer.
-
Quality- For the code that this change impacts, I believe that the automated tests validate functionality that is highly important to users. If the existing automated tests do not cover this functionality, I have added the necessary additional tests or I have added an issue to describe the automation testing gap and linked it to this MR.
- I have made sure that the sonar quality coverage is up to standards.
- I have considered the impact of this change on the front-end, back-end, and database portions of the system where appropriate and applied.
- I have tested this MR in all supported browsers or determined that this testing is not needed.
- I have confirmed that this change is backwards compatible across updates (migrate up needs a migrate down), or I have decided that this does not apply.
Performance, reliability and availability
- I am confident that this MR does not harm performance, or I have asked a reviewer to help assess the performance impact.
- I have considered the scalability risk based on future predicted growth.
Documentation
- The MR is named after the desired squash commit to feed the changelog linked to the current milestone.
- I have added/updated documentation (also updated if the changes feature a deprecation) or I have decided that documentation changes are not needed for this MR.
Security
- I have confirmed that if this MR does not contains any sensitive informations hidden in the changes.
Deployment
- When featured on a self-data project release, I have made sure my app version in the manifest and package.json is incremented and any relative changes to the permissions are clearly written and transmitted to Cozy.
Edited by Bastien DUMONT