Sha256: 0d5d5bdf711c81714c273d4911d46064a16dc7850d7e1006330d72711fd07de8

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

require 'spec_helper'

describe ReportsKit::Reports::Filter do
  subject { described_class.new(properties, measure: measure) }
  let(:measure) { ReportsKit::Reports::Measure.new('issue') }

  context 'with a datetime filter' do
    let(:properties) { 'opened_at' }

    it 'returns the settings' do
      expect(subject.settings).to eq({ column: 'issues.opened_at' })
    end
  end

  context 'with a belongs_to association filter' do
    let(:properties) { 'repo' }

    it 'returns the settings' do
      expect(subject.settings).to eq({ column: 'issues.repo_id' })
    end
  end

  context 'with a has_many association filter' do
    let(:properties) { 'tags' }

    it 'returns the settings' do
      expect(subject.settings).to eq({ joins: :tags, column: 'tags.id' })
    end
  end

  context 'with a has_many :through association filter' do
    let(:properties) { 'labels' }

    it 'returns the settings' do
      expect(subject.settings).to eq({ joins: :issues_labels, column: 'issues_labels.label_id' })
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
reports_kit-0.1.0 spec/reports_kit/reports/filter_spec.rb
reports_kit-0.0.4 spec/reports_kit/reports/filter_spec.rb
reports_kit-0.0.3 spec/reports_kit/reports/filter_spec.rb
reports_kit-0.0.2 spec/reports_kit/reports/filter_spec.rb
reports_kit-0.0.1 spec/reports_kit/reports/filter_spec.rb