Metadata-Version: 2.1
Name: geneweaver-testing
Version: 0.0.2b0
Summary: A library to standardize testing of GeneWeaver pacakges.
Home-page: https://bergsalex.github.io/geneweaver-docs/
License: Apache-2.0
Author: Alexander Berger
Author-email: alexander.berger@jax.org
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: black (>=23.3.0,<24.0.0)
Requires-Dist: isort (>=5.12.0,<6.0.0)
Requires-Dist: mypy (>=1.4.1,<2.0.0)
Requires-Dist: pytest (>=7.4.0,<8.0.0)
Requires-Dist: pytest-cov (>=4.1.0,<5.0.0)
Requires-Dist: ruff (>=0.0.277,<0.0.278)
Requires-Dist: tomli (>=2.0.1,<3.0.0)
Project-URL: Repository, https://github.com/bergsalex/geneweaver-testing
Description-Content-Type: text/markdown

# Geneweaver Testing
This package is used to test the Geneweaver project. It contains tools for running tests against Geneweaver project
packages and components to aid in the development of Geneweaver. 

## Quick Start
1. Install the package
    ```bash
    poetry install -G dev geneweaver-testing
    ```
2. Make a "common" test file
    ```
    touch tests/common.py
    ```
3. Add the following to the "common" test file
    ```
    # Inside tests/common.py
    from geneweaver.testing import *
    ```
4. Add a fixture file at test root (if you don't have one already)
    ```
    touch tests/conftest.py
    ```
5. Add the following to the fixture file
    ```
    # Inside tests/conftest.py
    from geneweaver.testing.fixtures import *
    ```
6. Run Tests!
    ```bash
    pytest tests
    ```

## Package Modules
Like all Geneweaver packages, this package is namespaced under the `geneweaver` package. The root of this package is
`geneweaver.testing`. The package is structured for usage in pytest tests, with pre-defined tests available through
splat (`*`) imports as shown in the Quick Start. Other package functionality is available by specifically importing
modules.

The following modules are available in this package:

### `geneweaver.testing.fixtures`
This module contains pytest fixtures that are used to test Geneweaver packages. These fixtures can be used to set up
test contexts for Geneweaver packages. This module does not contain any tests.

### `geneweaver.testing.package`
This module contains tools for testing and validating Geneweaver packages. 


## Contributing
Contributions to this package are welcome. Please see the [Contributing](CONTRIBUTING.md) document for more information.


