-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_copier.py
More file actions
48 lines (36 loc) · 1.51 KB
/
test_copier.py
File metadata and controls
48 lines (36 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import pytest
def test_project_folder(copie, copier_project_defaults):
project_defaults = copier_project_defaults
project = copie.copy(extra_answers=project_defaults)
assert project.exit_code == 0
assert project.exception is None
assert project.project_dir.is_dir()
@pytest.mark.parametrize("file_name", [
"README.md",
"CONTRIBUTING.rst",
])
def test_generated_file_exists(copie, copier_project_defaults, file_name):
project = copie.copy(extra_answers=copier_project_defaults)
assert project.project_dir.joinpath(file_name).exists()
@pytest.mark.parametrize("desired", [
"\nmy_project_description\n",
"pip install my_project",
"https://circleci.com/gh/pyfar/my-project",
"main/docs/resources/logos/pyfar_logos_fixed_size_my_project.png",
"Python 3.11 or higher",
"py/my_project.svg",
"https://my_project.readthedocs.io/en/stable/contributing.html",
"\nThis is how to get started.\n",
])
def test_content_readme(copie, copier_project_defaults, desired):
project = copie.copy(extra_answers=copier_project_defaults)
content = project.project_dir.joinpath("README.md").read_text()
assert desired in content
@pytest.mark.parametrize("desired", [
"https://github.com/pyfar/my_project/issues",
"$ cd my_project",
])
def test_content_contributing(copie, copier_project_defaults, desired):
project = copie.copy(extra_answers=copier_project_defaults)
content = project.project_dir.joinpath("CONTRIBUTING.rst").read_text()
assert desired in content