Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/unnested_in_filters/rewriter_spec.rb')
-rw-r--r--spec/lib/unnested_in_filters/rewriter_spec.rb26
1 files changed, 14 insertions, 12 deletions
diff --git a/spec/lib/unnested_in_filters/rewriter_spec.rb b/spec/lib/unnested_in_filters/rewriter_spec.rb
index fe34fba579b..bba27276037 100644
--- a/spec/lib/unnested_in_filters/rewriter_spec.rb
+++ b/spec/lib/unnested_in_filters/rewriter_spec.rb
@@ -69,15 +69,21 @@ RSpec.describe UnnestedInFilters::Rewriter do
let(:recorded_queries) { ActiveRecord::QueryRecorder.new { rewriter.rewrite.load } }
let(:relation) { User.where(state: :active, user_type: %i(support_bot alert_bot)).limit(2) }
+ let(:users_default_select_fields) do
+ User.default_select_columns
+ .map { |field| "\"users\".\"#{field.name}\"" }
+ .join(',')
+ end
+
let(:expected_query) do
<<~SQL
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
unnest('{1,2}'::smallint[]) AS "user_types"("user_type"),
LATERAL (
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
"users"
WHERE
@@ -101,13 +107,13 @@ RSpec.describe UnnestedInFilters::Rewriter do
let(:expected_query) do
<<~SQL
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
unnest(ARRAY(SELECT "users"."state" FROM "users")::character varying[]) AS "states"("state"),
unnest('{1,2}'::smallint[]) AS "user_types"("user_type"),
LATERAL (
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
"users"
WHERE
@@ -129,12 +135,12 @@ RSpec.describe UnnestedInFilters::Rewriter do
let(:expected_query) do
<<~SQL
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
unnest('{active,blocked,banned}'::charactervarying[]) AS "states"("state"),
LATERAL (
SELECT
- "users".*
+ #{users_default_select_fields}
FROM
"users"
WHERE
@@ -181,8 +187,6 @@ RSpec.describe UnnestedInFilters::Rewriter do
let(:expected_query) do
<<~SQL
- SELECT
- "users".*
FROM
"users"
WHERE
@@ -217,7 +221,7 @@ RSpec.describe UnnestedInFilters::Rewriter do
end
it 'changes the query' do
- expect(issued_query.gsub(/\s/, '')).to start_with(expected_query.gsub(/\s/, ''))
+ expect(issued_query.gsub(/\s/, '')).to include(expected_query.gsub(/\s/, ''))
end
end
@@ -226,8 +230,6 @@ RSpec.describe UnnestedInFilters::Rewriter do
let(:expected_query) do
<<~SQL
- SELECT
- "users".*
FROM
"users"
WHERE
@@ -257,7 +259,7 @@ RSpec.describe UnnestedInFilters::Rewriter do
end
it 'does not rewrite the in statement for the joined table' do
- expect(issued_query.gsub(/\s/, '')).to start_with(expected_query.gsub(/\s/, ''))
+ expect(issued_query.gsub(/\s/, '')).to include(expected_query.gsub(/\s/, ''))
end
end