Sha256: 27eafc44f009597f8d535d12524a1e8362deaf175264d62744a8f38ead921072

Contents?: true

Size: 1.73 KB

Versions: 4

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

describe ReportsKit::Reports::GenerateAutocompleteResults do
  subject { described_class.new(params, properties).perform }
  let!(:repo) { create(:repo) }
  let!(:repo2) { create(:repo) }
  let!(:issues) do
    [
      create(:issue, repo: repo, opened_at: now - 2.weeks),
      create(:issue, repo: repo2, opened_at: now - 2.weeks),
      create(:issue, repo: repo, opened_at: now)
    ]
  end

  context 'with valid params' do
    let(:params) { { key: 'repo' } }
    let(:properties) do
      {
        measure: 'issue',
        filters: %w(repo),
        dimensions: %w(opened_at)
      }
    end

    it 'returns the results' do
      expect(subject).to match_array([
        { id: repo.id, text: repo.to_s },
        { id: repo2.id, text: repo2.to_s }
      ])
    end
  end

  context 'with a contextual_filter' do
    context 'with context_params' do
      let(:params) { { key: 'repo', context_params: { repo_id: repo.id } } }
      let(:properties) do
        {
          measure: 'issue',
          filters: [{ key: 'repo', contextual_filters: %w(for_repo) }],
          dimensions: %w(opened_at)
        }
      end

      it 'returns the results' do
        expect(subject).to match_array([
          { id: repo.id, text: repo.to_s }
        ])
      end
    end

    context 'without context_params' do
      let(:params) { { key: 'repo' } }
      let(:properties) do
        {
          measure: 'issue',
          filters: [{ key: 'repo', contextual_filters: %w(for_repo) }],
          dimensions: %w(opened_at)
        }
      end

      it 'returns the results' do
        expect(subject).to match_array([
          { id: repo.id, text: repo.to_s },
          { id: repo2.id, text: repo2.to_s }
        ])
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
reports_kits-0.7.8 spec/reports_kit/reports/generate_autocomplete_results_spec.rb
reports_kits-0.7.7 spec/reports_kit/reports/generate_autocomplete_results_spec.rb
reports_kit-0.7.1 spec/reports_kit/reports/generate_autocomplete_results_spec.rb
reports_kit-0.7.0 spec/reports_kit/reports/generate_autocomplete_results_spec.rb