iiasa / iiasa/message-ix-models

Test NAVIGATE workflow pieces

Open
#352 0 comments 0 reactions 0 assignees View on GitHub
ci enh p:NAVIGATE
Dominant language
Python
Stars
32
Forks
57
Avg merge
2d 3h
Merged PRs (30d)
5

Description

`.project.navigate.workflow` was migrated from message_data in #350. This included tests that the Workflow can be generated using .navigate.workflow.generate(), but there were and are no tests that the workflow runs end-to-end, or that the many individual functions used in the workflow each behave as expected.

The entire workflow has a long runtime, 20–30 minutes or more. It is imaginable to run the entire workflow on snapshot scenarios, but not desirable (as least as part of the regular test suite used for pull request checks).

In order to cover the code:
- If code is to be (re)used in other projects:
- Move to common locations (not within .project.navigate).
- Add generic and atomic tests of these moved functions.
- Otherwise:
- Write atomic tests for individual functions.
- Write tests that use .workflow.generate() and then run single steps, with appropriate Scenario fixtures.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the migration noted in #350 and the `.project.navigate.workflow` implementation. Review `.workflow.generate()` and the available Scenario fixtures, then identify individual workflow functions and steps that can be tested without running the full 20–30 minute workflow. Done means reusable functions are moved when appropriate and atomic or single-step tests cover the selected workflow behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.