Sha256: 736ed2648801b1f8ffa8be1474b185fc181b74e47e6be9ffaeb7473ce65f1f8f

Contents?: true

Size: 1002 Bytes

Versions: 1

Compression:

Stored size: 1002 Bytes

Contents

require 'spec_helper'
require 'conceptql/operators/race'

describe ConceptQL::Operators::Race do
  it_behaves_like(:evaluator)

  describe '#query' do
    it 'works for white' do
      correct_query = "SELECT * FROM person AS p INNER JOIN vocabulary.concept AS vc ON (vc.concept_id = p.race_concept_id) WHERE (lower(vc.concept_name) IN ('white'))"
      expect(ConceptQL::Operators::Race.new('White').query(Sequel.mock).sql).to eq(correct_query)
      expect(ConceptQL::Operators::Race.new('white').query(Sequel.mock).sql).to eq(correct_query)
    end

    it 'works for multiple values' do
      correct_query = "SELECT * FROM person AS p INNER JOIN vocabulary.concept AS vc ON (vc.concept_id = p.race_concept_id) WHERE (lower(vc.concept_name) IN ('white', 'other'))"
      expect(ConceptQL::Operators::Race.new('White', 'Other').query(Sequel.mock).sql).to eq(correct_query)
      expect(ConceptQL::Operators::Race.new('white', 'other').query(Sequel.mock).sql).to eq(correct_query)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
conceptql-0.2.0 spec/conceptql/operators/race_spec.rb