Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added tests for template generation #9

Merged
merged 12 commits into from
Jun 13, 2024
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ classifiers = [
"Typing :: Typed",
]
dynamic = ["version"]
dependencies = ["pybamm"]
dependencies = ["pybamm", "cookiecutter"]

[project.optional-dependencies]
agriyakhetarpal marked this conversation as resolved.
Show resolved Hide resolved
dev = [
"pytest >=6",
"pytest-cov >=3",
"nox",
santacodes marked this conversation as resolved.
Show resolved Hide resolved
"pre-commit",
"pytest-cookies",
]
docs = [
"sphinx",
Expand Down
7 changes: 6 additions & 1 deletion src/pybamm_cookiecutter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
"""
from __future__ import annotations

import pybamm

from ._version import version as __version__

__all__ : tuple[str] = ("__version__",)
__all__ : list[str] = [
"__version__",
"pybamm",
santacodes marked this conversation as resolved.
Show resolved Hide resolved
]
5 changes: 0 additions & 5 deletions tests/test_package.py

This file was deleted.

31 changes: 31 additions & 0 deletions tests/test_project_generation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import pybamm_cookiecutter as m
import pytest
santacodes marked this conversation as resolved.
Show resolved Hide resolved

def test_version() -> None:
assert m.__version__

@pytest.fixture
def custom_template(tmpdir):
arjxn-py marked this conversation as resolved.
Show resolved Hide resolved
"""
Generating a project using the template into a tempdir
"""
template = tmpdir.ensure("cookiecutter-template", dir=True)
template.join("cookiecutter.json").write('{"project_name": "pybamm_cookie"}')

repo_dir = template.ensure("{{cookiecutter.project_name}}", dir=True)
repo_dir.join("README.rst").write("{{cookiecutter.project_name}}")

return template


def test_bake_custom_project(cookies, custom_template):
santacodes marked this conversation as resolved.
Show resolved Hide resolved
"""
Testing if the projects exists in the tempdir
"""
result = cookies.bake(template=str(custom_template))

assert result.exit_code == 0
assert result.exception is None

assert result.project_path.name == "pybamm_cookie"
arjxn-py marked this conversation as resolved.
Show resolved Hide resolved
assert result.project_path.is_dir()