aboutsummaryrefslogtreecommitdiff
path: root/autogpts/autogpt/tests/integration/test_setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'autogpts/autogpt/tests/integration/test_setup.py')
-rw-r--r--autogpts/autogpt/tests/integration/test_setup.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/autogpts/autogpt/tests/integration/test_setup.py b/autogpts/autogpt/tests/integration/test_setup.py
new file mode 100644
index 000000000..3c66e257f
--- /dev/null
+++ b/autogpts/autogpt/tests/integration/test_setup.py
@@ -0,0 +1,70 @@
+from unittest.mock import patch
+
+import pytest
+
+from autogpt.app.setup import (
+ apply_overrides_to_ai_settings,
+ interactively_revise_ai_settings,
+)
+from autogpt.config import AIDirectives, Config
+from autogpt.config.ai_profile import AIProfile
+
+
+@pytest.mark.asyncio
+async def test_apply_overrides_to_ai_settings():
+ ai_profile = AIProfile(ai_name="Test AI", ai_role="Test Role")
+ directives = AIDirectives(
+ resources=["Resource1"],
+ constraints=["Constraint1"],
+ best_practices=["BestPractice1"],
+ )
+
+ apply_overrides_to_ai_settings(
+ ai_profile,
+ directives,
+ override_name="New AI",
+ override_role="New Role",
+ replace_directives=True,
+ resources=["NewResource"],
+ constraints=["NewConstraint"],
+ best_practices=["NewBestPractice"],
+ )
+
+ assert ai_profile.ai_name == "New AI"
+ assert ai_profile.ai_role == "New Role"
+ assert directives.resources == ["NewResource"]
+ assert directives.constraints == ["NewConstraint"]
+ assert directives.best_practices == ["NewBestPractice"]
+
+
+@pytest.mark.asyncio
+async def test_interactively_revise_ai_settings(config: Config):
+ ai_profile = AIProfile(ai_name="Test AI", ai_role="Test Role")
+ directives = AIDirectives(
+ resources=["Resource1"],
+ constraints=["Constraint1"],
+ best_practices=["BestPractice1"],
+ )
+
+ user_inputs = [
+ "n",
+ "New AI",
+ "New Role",
+ "NewConstraint",
+ "",
+ "NewResource",
+ "",
+ "NewBestPractice",
+ "",
+ "y",
+ ]
+ with patch("autogpt.app.setup.clean_input", side_effect=user_inputs):
+ ai_profile, directives = await interactively_revise_ai_settings(
+ ai_profile, directives, config
+ )
+
+ assert ai_profile.ai_name == "New AI"
+ assert ai_profile.ai_role == "New Role"
+ assert directives.resources == ["NewResource"]
+ assert directives.constraints == ["NewConstraint"]
+ assert directives.best_practices == ["NewBestPractice"]