Sha256: f02b17c3346a49735fe29146a51c447e114d59458c383032989ed531f38b8b05

Contents?: true

Size: 1023 Bytes

Versions: 5

Compression:

Stored size: 1023 Bytes

Contents

require 'spec_helper'
require 'conceptql/nodes/race'

describe ConceptQL::Nodes::Race do
  it 'behaves itself' do
    ConceptQL::Nodes::Race.new.must_behave_like(:evaluator)
  end

  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'))"
      ConceptQL::Nodes::Race.new('White').query(Sequel.mock).sql.must_equal correct_query
      ConceptQL::Nodes::Race.new('white').query(Sequel.mock).sql.must_equal 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'))"
      ConceptQL::Nodes::Race.new('White', 'Other').query(Sequel.mock).sql.must_equal correct_query
      ConceptQL::Nodes::Race.new('white', 'other').query(Sequel.mock).sql.must_equal correct_query
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
conceptql-0.1.1 spec/conceptql/nodes/race_spec.rb
conceptql-0.1.0 spec/conceptql/nodes/race_spec.rb
conceptql-0.0.9 spec/conceptql/nodes/race_spec.rb
conceptql-0.0.8 spec/conceptql/nodes/race_spec.rb
conceptql-0.0.7 spec/conceptql/nodes/race_spec.rb