summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns_spec.rb
blob: 2cebf0d9473ca648c5bcb20734bc1482fae4bb66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Gitlab::Pagination::Keyset::InOperatorOptimization::ArrayScopeColumns do
  let(:columns) { [:relative_position, :id] }

  subject(:array_scope_columns) { described_class.new(columns) }

  it 'builds array column names' do
    expect(array_scope_columns.array_aggregated_column_names).to eq(%w[array_cte_relative_position_array array_cte_id_array])
  end

  context 'when no columns are given' do
    let(:columns) { [] }

    it { expect { array_scope_columns }.to raise_error /No array columns were given/ }
  end
end