Story #15334

[Workbench2] Unit testing

Added by Eric Biagiotti 3 months ago. Updated 2 days ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
2.0

Description

Review https://dev.arvados.org/projects/arvados/wiki/Hacking_Workbench2 to get a better understanding of how WB2 is structured.

Reducers

Reducers are responsible for transitioning between states. These are straight forward to test. Start with an initial state, call the reducer with an action, and evaluate the resulting state.

Action creators and services

These are the components that invoke actions to change state and interact with outside resources (Axios, localstorage, etc). Need more research to figure out how to test these properly. Do we use the actual store, or mock it? Do we have to mock the entire service repository?

React UI Components

React components only rely on their connected props/state, which make them relatively easy to test using something like Enzyme. Consider snapshot testing for components that don't change often.

Resources: https://redux.js.org/recipes/writing-tests, https://willowtreeapps.com/ideas/best-practices-for-unit-testing-with-a-react-redux-approach


Related issues

Related to Arvados - Story #15333: [Epic] Workbench2 has reached feature parity with Workbench, so that that latter can be deprecatedNew

History

#1 Updated by Eric Biagiotti 3 months ago

  • Related to Story #15333: [Epic] Workbench2 has reached feature parity with Workbench, so that that latter can be deprecated added

#2 Updated by Eric Biagiotti 3 months ago

  • Subject changed from Workbench 2 unit testing to [Workbench2] Unit testing

#3 Updated by Tom Morris 23 days ago

  • Target version set to To Be Groomed

#4 Updated by Tom Morris 2 days ago

  • Story points set to 2.0
  • Target version changed from To Be Groomed to Arvados Future Sprints

Also available in: Atom PDF