11import pytest
22
3- def test_project_folder (copie , copier_project_defaults ):
4- project_defaults = copier_project_defaults
5- project = copie .copy (extra_answers = project_defaults )
3+ @pytest .fixture (scope = "session" )
4+ def default_project (copie_session , copier_project_defaults ):
5+ project = copie_session .copy (
6+ extra_answers = copier_project_defaults )
7+ return project
68
7- assert project .exit_code == 0
8- assert project .exception is None
9- assert project .project_dir .is_dir ()
9+ def test_project_folder (default_project ):
10+ assert default_project .exit_code == 0
11+ assert default_project .exception is None
12+ assert default_project .project_dir .is_dir ()
1013
1114
1215@pytest .mark .parametrize ("file_name" , [
1316 "README.md" ,
1417 "LICENSE" ,
1518 "CONTRIBUTING.rst" ,
1619])
17- def test_generated_file_exists (copie , copier_project_defaults , file_name ):
18- project = copie .copy (extra_answers = copier_project_defaults )
19-
20- assert project .project_dir .joinpath (file_name ).exists ()
20+ def test_generated_file_exists (default_project , file_name ):
21+ assert default_project .project_dir .joinpath (file_name ).exists ()
2122
2223
2324@pytest .mark .parametrize ("desired" , [
@@ -30,16 +31,13 @@ def test_generated_file_exists(copie, copier_project_defaults, file_name):
3031 "https://my_project.readthedocs.io/en/stable/contributing.html" ,
3132 "\n This is how to get started.\n " ,
3233])
33- def test_content_readme (copie , copier_project_defaults , desired ):
34- project = copie .copy (extra_answers = copier_project_defaults )
35-
36- content = project .project_dir .joinpath ("README.md" ).read_text ()
34+ def test_content_readme (default_project , desired ):
35+ content = default_project .project_dir .joinpath ("README.md" ).read_text ()
3736 assert desired in content
3837
3938
40- def test_license_default (copie , copier_project_defaults ):
41- project = copie .copy (extra_answers = copier_project_defaults )
42- content = project .project_dir .joinpath ("LICENSE" ).read_text ()
39+ def test_license_default (default_project ):
40+ content = default_project .project_dir .joinpath ("LICENSE" ).read_text ()
4341 assert 'Copyright (c) 2025, The pyfar developers' in content
4442
4543
@@ -62,12 +60,13 @@ def test_license_choice_other(copie, copier_project_defaults):
6260 project = copie .copy (extra_answers = {** copier_project_defaults ,
6361 "license" : "" })
6462 assert not project .project_dir .joinpath ("LICENSE" ).exists ()
63+
64+
6565@pytest .mark .parametrize ("desired" , [
6666 "https://github.com/pyfar/my_project/issues" ,
6767 "$ cd my_project" ,
6868])
69- def test_content_contributing (copie , copier_project_defaults , desired ):
70- project = copie .copy (extra_answers = copier_project_defaults )
71-
72- content = project .project_dir .joinpath ("CONTRIBUTING.rst" ).read_text ()
69+ def test_content_contributing (default_project , desired ):
70+ content = default_project .project_dir .joinpath (
71+ "CONTRIBUTING.rst" ).read_text ()
7372 assert desired in content
0 commit comments