summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/sql
diff options
context:
space:
mode:
authorHiroyuki Sato <sathiroyuki@gmail.com>2017-08-23 01:51:53 +0900
committerHiroyuki Sato <sathiroyuki@gmail.com>2017-08-25 18:41:43 +0900
commit9e203582b367a1b84035572261a79b62e22bfeaa (patch)
tree34c594804a5d68eb3fbd4eee90bc3dfc9b134c46 /spec/lib/gitlab/sql
parent539ed0a6375d5bb6d734e688b801373e4b8006f9 (diff)
downloadgitlab-ce-9e203582b367a1b84035572261a79b62e22bfeaa.tar.gz
Improve AutocompleteController#user.json performance
Diffstat (limited to 'spec/lib/gitlab/sql')
-rw-r--r--spec/lib/gitlab/sql/pattern_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/lib/gitlab/sql/pattern_spec.rb b/spec/lib/gitlab/sql/pattern_spec.rb
new file mode 100644
index 00000000000..cbafe36de06
--- /dev/null
+++ b/spec/lib/gitlab/sql/pattern_spec.rb
@@ -0,0 +1,31 @@
+require 'spec_helper'
+
+describe Gitlab::SQL::Pattern do
+ describe '#to_sql' do
+ subject(:to_sql) { described_class.new(query).to_sql }
+
+ context 'when a query is shorter than 3 chars' do
+ let(:query) { '12' }
+
+ it 'returns exact matching pattern' do
+ expect(to_sql).to eq('12')
+ end
+ end
+
+ context 'when a query is equal to 3 chars' do
+ let(:query) { '123' }
+
+ it 'returns partial matching pattern' do
+ expect(to_sql).to eq('%123%')
+ end
+ end
+
+ context 'when a query is longer than 3 chars' do
+ let(:query) { '1234' }
+
+ it 'returns partial matching pattern' do
+ expect(to_sql).to eq('%1234%')
+ end
+ end
+ end
+end