Skip to content

Commit 27ea4bc

Browse files
committed
Add tests
1 parent 78608df commit 27ea4bc

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

tests/test_cli_reset.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
from pathlib import Path
2+
from unittest.mock import patch
3+
4+
from typer.testing import CliRunner
5+
6+
from fastapi_cloud_cli.cli import app
7+
8+
runner = CliRunner()
9+
10+
11+
def test_reset_removes_fastapicloud_dir(tmp_path: Path) -> None:
12+
config_dir = tmp_path / ".fastapicloud"
13+
config_dir.mkdir(parents=True)
14+
15+
cloud_json = config_dir / "cloud.json"
16+
cloud_json.write_text('{"app_id": "123", "team_id": "456"}')
17+
18+
readme_file = config_dir / "README.md"
19+
readme_file.write_text("# FastAPI Cloud Configuration")
20+
21+
gitignore_file = config_dir / ".gitignore"
22+
gitignore_file.write_text("*")
23+
24+
with patch("fastapi_cloud_cli.commands.reset.Path.cwd", return_value=tmp_path):
25+
result = runner.invoke(app, ["reset"])
26+
27+
assert result.exit_code == 0
28+
assert "FastAPI Cloud configuration has been reset successfully! 🚀" in result.output
29+
30+
assert not config_dir.exists()
31+
assert not cloud_json.exists()
32+
assert not readme_file.exists()
33+
assert not gitignore_file.exists()
34+
35+
36+
def test_reset_when_no_configuration_exists(tmp_path: Path) -> None:
37+
config_dir = tmp_path / ".fastapicloud"
38+
assert not config_dir.exists()
39+
40+
with patch("fastapi_cloud_cli.commands.reset.Path.cwd", return_value=tmp_path):
41+
result = runner.invoke(app, ["reset"])
42+
43+
assert result.exit_code == 1
44+
assert "No FastAPI Cloud configuration found in the current directory." in result.output
45+

0 commit comments

Comments
 (0)