Split test fixtures in test_filter_metadata.py
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 18
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
Minor issue that cropped up in the review of #164.
In `test_filter_metadata.py`, there are the following 3 functions:
* `filter_one_column`
* `filter_multiple_and`
* `filter_multiple_or`
These functions are essentially test fixtures, but, instead of being treated as fixtures, they are just functions that are combined into one fixture called `test_filter_metadata`. As a result of having this "super-fixture", we can't easily detect which of the 3 functions above actually failed.
This "super-fixture" should be split into 3 different fixtures to test these functions independently and simplify failure tracking.
Additionally, per the discussion in #164, these functions are (for some reason) also used in:
* `thicket/tests/test_concat_thickets.py`
* `thicket/tests/test_groupby.py`
As a result, these functions should be moved into some "testing utils" module. Then, `test_filter_metadata.py` should import the functions and use them in the 3 new fixtures, and the other two modules (listed above) should import the functions and use them as they currently are.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading test_filter_metadata.py and the usages in thicket/tests/test_concat_thickets.py and thicket/tests/test_groupby.py. Move the three named functions into a testing utils module, import them where needed, and split test_filter_metadata into three independent fixtures. Run the affected tests and confirm each fixture reports failures separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing-qa
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100