summaryrefslogtreecommitdiff
path: root/tests/deprecated_role_syntax_test.py
diff options
context:
space:
mode:
authorMartin Bielik <martin.bielik@instea.sk>2024-12-16 23:13:35 +0100
committerMartin Bielik <martin.bielik@instea.sk>2024-12-16 23:13:35 +0100
commit2a418adca13bc7f8d4b35a4a1ec83fe0e5aedd91 (patch)
treeb52d43e7e758e101b972b8de639b3379f669e0a2 /tests/deprecated_role_syntax_test.py
parentb81a3c7cb4fb15295262e4e6a2896e5bc88c51de (diff)
downloadvim-ai-2a418adca13bc7f8d4b35a4a1ec83fe0e5aedd91.tar.gz
new role syntax
Diffstat (limited to '')
-rw-r--r--tests/deprecated_role_syntax_test.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/tests/deprecated_role_syntax_test.py b/tests/deprecated_role_syntax_test.py
new file mode 100644
index 0000000..19744b9
--- /dev/null
+++ b/tests/deprecated_role_syntax_test.py
@@ -0,0 +1,83 @@
+from context import make_ai_context, make_prompt
+
+default_config = {
+ "options": {
+ "model": "gpt-4o",
+ "endpoint_url": "https://api.openai.com/v1/chat/completions",
+ "max_tokens": "0",
+ "max_completion_tokens": "0",
+ "temperature": "1",
+ "request_timeout": "20",
+ "stream": "1",
+ "enable_auth": "1",
+ "token_file_path": "",
+ "selection_boundary": "",
+ "initial_prompt": "You are a general assistant.",
+ },
+ "ui": {
+ "open_chat_command": "preset_below",
+ "scratch_buffer_keep_open": "0",
+ "populate_options": "0",
+ "code_syntax_enabled": "1",
+ "paste_mode": "1",
+ },
+}
+
+def test_role_config():
+ context = make_ai_context({
+ 'config_default': default_config,
+ 'config_extension': {},
+ 'user_instruction': '/deprecated-test-role-simple user instruction',
+ 'user_selection': 'selected text',
+ 'command_type': 'chat',
+ })
+ actual_config = context['config']
+ actual_prompt = context['prompt']
+ assert 'o1-preview' == actual_config['options']['model']
+ assert 'simple role prompt:\nuser instruction:\nselected text' == actual_prompt
+
+def test_role_config_different_commands():
+ base = {
+ 'config_default': default_config,
+ 'config_extension': {},
+ 'user_instruction': '/deprecated-test-role hello',
+ 'user_selection': '',
+ }
+ context = make_ai_context({ **base, 'command_type': 'chat' })
+ actual_config = context['config']
+ actual_prompt = context['prompt']
+ assert 'model-common' == actual_config['options']['model']
+ assert '0' == actual_config['ui']['paste_mode']
+ assert 'preset_tab' == actual_config['ui']['open_chat_command']
+ assert 'hello' == actual_prompt
+ assert 'https://localhost/chat' == actual_config['options']['endpoint_url']
+
+ context = make_ai_context({ **base, 'command_type': 'complete' })
+ actual_config = context['config']
+ actual_prompt = context['prompt']
+ assert 'model-common' == actual_config['options']['model']
+ assert '0' == actual_config['ui']['paste_mode']
+ assert 'hello' == actual_prompt
+ assert 'https://localhost/complete' == actual_config['options']['endpoint_url']
+
+ context = make_ai_context({ **base, 'command_type': 'edit' })
+ actual_config = context['config']
+ actual_prompt = context['prompt']
+ assert 'model-common' == actual_config['options']['model']
+ assert '0' == actual_config['ui']['paste_mode']
+ assert 'hello' == actual_prompt
+ assert 'https://localhost/edit' == actual_config['options']['endpoint_url']
+
+def test_multiple_role_configs():
+ context = make_ai_context({
+ 'config_default': default_config,
+ 'config_extension': {},
+ 'user_instruction': '/deprecated-test-role /deprecated-test-role-simple hello',
+ 'user_selection': '',
+ 'command_type': 'chat',
+ })
+ actual_config = context['config']
+ actual_prompt = context['prompt']
+ assert 'o1-preview' == actual_config['options']['model']
+ assert 'https://localhost/chat' == actual_config['options']['endpoint_url']
+ assert 'simple role prompt:\nhello' == actual_prompt