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

column_data_spec.rb « in_operator_optimization « keyset « pagination « gitlab « lib « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4f200c9096f55b22572611c17d56128c45034433 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Gitlab::Pagination::Keyset::InOperatorOptimization::ColumnData do
  subject(:column_data) { described_class.new('id', 'issue_id', Issue.arel_table) }

  describe '#array_aggregated_column_name' do
    it { expect(column_data.array_aggregated_column_name).to eq('issues_id_array') }
  end

  describe '#projection' do
    it 'returns the Arel projection for the column with a new alias' do
      expect(column_data.projection.to_sql).to eq('"issues"."id" AS issue_id')
    end
  end

  it 'accepts symbols for original_column_name and as' do
    column_data = described_class.new(:id, :issue_id, Issue.arel_table)

    expect(column_data.projection.to_sql).to eq('"issues"."id" AS issue_id')
  end
end