Skip to content

Testability and Further Modularization #256

@PaulJonasJost

Description

@PaulJonasJost

This Issue tracks the progress in adapting to a more stringent MVC (almost an MVP) to allow testing of the model, view, and controller separately. The current plan (open for adjustment suggestions) is as follows:

  • Separate Model, View, and Controller by using more signals, such that views and controllers never actively call the controller
  • Wire Signals at the start of the application (making the controller quasi-independent of the actual view and model)
  • Above enables tests for views
  • Extract Data logic from PandasTableModel
    • It is a proxy/data table model, i.e. already working very closely with the views. Instead, do also prepare better for v2, write its own clean functionality model that only cares about the data (pandas dataframe or pedantic model), and then the TableModel will use this data manager.
    • Write tests explicitly for managers
  • Create Pep544 Protocols for the controller tasks, such that they can be easily set up for testing.

Metadata

Metadata

Assignees

Labels

WIPCurrently being worked uponhelp wantedExtra attention is neededimprovementCode refactor that does not impact users directly

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions