@@ -9,7 +9,7 @@ def test_new_command_works(tmpdir, process_runner):
99 result = process_runner (["ellar" , "new" , "ellar-project-new" ])
1010 assert result .returncode == 0
1111 assert result .stdout .decode ("utf8" ) == (
12- "`ellar-project-new ` project created successfully.\n "
12+ "`ellar_project_new ` project created successfully.\n "
1313 "- cd ellar-project-new\n "
1414 "To start your server, run the command below\n "
1515 "- ellar --project ellar_project_new runserver --reload\n "
@@ -26,6 +26,55 @@ def test_new_command_works(tmpdir, process_runner):
2626 }
2727
2828
29+ def test_new_command_works_with_specific_directory (tmpdir , process_runner ):
30+ result = process_runner (["ellar" , "new" , "ellar-project-new" , "Another/me" ])
31+ assert result .returncode == 0
32+ assert result .stdout .decode ("utf8" ) == (
33+ "`ellar_project_new` project created successfully.\n "
34+ "- cd another/me\n "
35+ "To start your server, run the command below\n "
36+ "- ellar --project ellar_project_new runserver --reload\n "
37+ "Happy coding!\n "
38+ )
39+ os .chdir (os .path .join (tmpdir / "another/me" ))
40+ ellar_cli_service = EllarCLIService .import_project_meta ()
41+ assert ellar_cli_service ._meta .dict () == {
42+ "project_name" : "ellar_project_new" ,
43+ "application" : "ellar_project_new.server:application" ,
44+ "config" : "ellar_project_new.config:DevelopmentConfig" ,
45+ "root_module" : "ellar_project_new.root_module:ApplicationModule" ,
46+ "apps_module" : "ellar_project_new.apps" ,
47+ }
48+
49+
50+ def test_new_command_fails_case_1 (tmpdir , process_runner ):
51+ result = process_runner (["ellar" , "new" , "ellar-project-new" , "Another/me" ])
52+ assert result .returncode == 0
53+ result = process_runner (["ellar" , "new" , "ellar-project-new" , "Another/me" ])
54+ assert result .returncode == 1
55+ assert "Scaffolding Project Directory is not empty." in result .stderr .decode ("utf8" )
56+
57+
58+ def test_new_command_works_with_specific_directory_case_2 (tmpdir , process_runner ):
59+ result = process_runner (["ellar" , "new" , "ellar-project-new" , "." ])
60+ assert result .returncode == 0
61+ assert result .stdout .decode ("utf8" ) == (
62+ "`ellar_project_new` project created successfully.\n \n "
63+ "To start your server, run the command below\n "
64+ "- ellar --project ellar_project_new runserver --reload\n "
65+ "Happy coding!\n "
66+ )
67+ os .chdir (os .path .join (tmpdir ))
68+ ellar_cli_service = EllarCLIService .import_project_meta ()
69+ assert ellar_cli_service ._meta .dict () == {
70+ "project_name" : "ellar_project_new" ,
71+ "application" : "ellar_project_new.server:application" ,
72+ "config" : "ellar_project_new.config:DevelopmentConfig" ,
73+ "root_module" : "ellar_project_new.root_module:ApplicationModule" ,
74+ "apps_module" : "ellar_project_new.apps" ,
75+ }
76+
77+
2978def test_new_command_fails_for_existing_folder_name (tmp_path , process_runner ):
3079 os .makedirs (tmp_path / "ellar-project-exist" , exist_ok = True )
3180 result = process_runner (["ellar" , "new" , "ellar-project-exist" ])
@@ -49,7 +98,7 @@ def test_new_template_scaffold_get_project_name():
4998 schema = EllarScaffoldSchema .schema_example (),
5099 working_directory = os .getcwd (),
51100 scaffold_ellar_template_root_path = "" ,
52- working_project_name = "folder-name" .lower (),
101+ project_name = "folder-name" .lower (),
53102 )
54103 assert init_template_scaffold .get_project_name () == "folder_name"
55104 init_template_scaffold ._project_name = "folder-name!;-:*"
@@ -62,6 +111,6 @@ def test_new_template_scaffold_get_project_cwd():
62111 schema = EllarScaffoldSchema .schema_example (),
63112 working_directory = "working-directory" ,
64113 scaffold_ellar_template_root_path = "" ,
65- working_project_name = "folder-name" .lower (),
114+ project_name = "folder-name" .lower (),
66115 )
67116 assert init_template_scaffold .get_project_cwd () == "working-directory/folder-name"
0 commit comments