summaryrefslogtreecommitdiffstats
path: root/tests/test_smart_completion_public_schema_only.py
diff options
context:
space:
mode:
authordarikg <darikg@users.noreply.github.com>2016-05-16 18:36:46 -0400
committerdarikg <darikg@users.noreply.github.com>2016-05-16 18:36:46 -0400
commit087fb1cb7d7c3c11026528f01859b76e35f2205f (patch)
tree1158bd345159e21d49f2c565bc50dee5e69e1ceb /tests/test_smart_completion_public_schema_only.py
parent5844690138de221c80be35a6b96382c666878a9c (diff)
parent0af862f1ffb7501ca4e51c3299432027b1c3bccd (diff)
Merge pull request #492 from koljonen/master
Completion to column list when * is entered
Diffstat (limited to 'tests/test_smart_completion_public_schema_only.py')
-rw-r--r--tests/test_smart_completion_public_schema_only.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/test_smart_completion_public_schema_only.py b/tests/test_smart_completion_public_schema_only.py
index 6ffe3092..7567b179 100644
--- a/tests/test_smart_completion_public_schema_only.py
+++ b/tests/test_smart_completion_public_schema_only.py
@@ -565,3 +565,70 @@ def test_columns_before_keywords(completer, complete_event):
assert completions.index(column) < completions.index(keyword)
+def test_wildcard_column_expansion(completer, complete_event):
+ sql = 'SELECT * FROM users'
+ pos = len('SELECT *')
+
+ completions = completer.get_completions(
+ Document(text=sql, cursor_position=pos), complete_event)
+
+ col_list = 'id, email, first_name, last_name'
+ expected = [Completion(text=col_list, start_position=-1,
+ display='*', display_meta='columns')]
+
+ assert expected == completions
+
+
+def test_wildcard_column_expansion_with_alias_qualifier(completer, complete_event):
+ sql = 'SELECT u.* FROM users u'
+ pos = len('SELECT u.*')
+
+ completions = completer.get_completions(
+ Document(text=sql, cursor_position=pos), complete_event)
+
+ col_list = 'id, u.email, u.first_name, u.last_name'
+ expected = [Completion(text=col_list, start_position=-1,
+ display='*', display_meta='columns')]
+
+ assert expected == completions
+
+
+def test_wildcard_column_expansion_with_table_qualifier(completer, complete_event):
+ sql = 'SELECT users.* FROM users'
+ pos = len('SELECT users.*')
+
+ completions = completer.get_completions(
+ Document(text=sql, cursor_position=pos), complete_event)
+
+ col_list = 'id, users.email, users.first_name, users.last_name'
+ expected = [Completion(text=col_list, start_position=-1,
+ display='*', display_meta='columns')]
+
+ assert expected == completions
+
+def test_wildcard_column_expansion_with_two_tables(completer, complete_event):
+ sql = 'SELECT * FROM "select" JOIN users u ON true'
+ pos = len('SELECT *')
+
+ completions = completer.get_completions(
+ Document(text=sql, cursor_position=pos), complete_event)
+
+ cols = ('"select".id, "select"."insert", "select"."ABC", '
+ 'u.id, u.email, u.first_name, u.last_name')
+ expected = [Completion(text=cols, start_position=-1,
+ display='*', display_meta='columns')]
+ assert completions == expected
+
+
+def test_wildcard_column_expansion_with_two_tables_and_parent(completer, complete_event):
+ sql = 'SELECT "select".* FROM "select" JOIN users u ON true'
+ pos = len('SELECT "select".*')
+
+ completions = completer.get_completions(
+ Document(text=sql, cursor_position=pos), complete_event)
+
+ col_list = 'id, "select"."insert", "select"."ABC"'
+ expected = [Completion(text=col_list, start_position=-1,
+ display='*', display_meta='columns')]
+
+ assert expected == completions