Sha256: 2486898f67f3a2c39c8601cdd111d437c314d9119fc5512ca6cfbbd621a52e74

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require 'test_helper'

class SearchTest < ActiveSupport::TestCase

  context "Performing a search" do
    
    setup do
      @question1 = Factory(:question, :prompt => 'Hair Color')
      @question2 = Factory(:question, :prompt => 'Weight')
      
      @matching_user = Factory(:user)
      Factory(:answer, :user => @matching_user, :question => @question1, :data => 'Brown')
      Factory(:answer, :user => @matching_user, :question => @question2, :data => '150')

      @partial_match_user = Factory(:user)
      Factory(:answer, :user => @partial_match_user, :question => @question1, :data => 'Black')
      Factory(:answer, :user => @partial_match_user, :question => @question2, :data => '160')

      @non_matching_user = Factory(:user)
      Factory(:answer, :user => @non_matching_user, :question => @question1, :data => 'Blond')
      Factory(:answer, :user => @non_matching_user, :question => @question2, :data => '200')
      
      @search = Census::Search.new(@question1 => 'Brown', @question2 => 145..165)
    end
    
    should "find the matching user" do
      results = @search.perform
      assert results.include?(@matching_user)
    end
    
    should "not find the other users" do
      results = @search.perform
      assert !results.include?(@non_matching_user)
      assert !results.include?(@partial_match_user)
    end
    
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
census-0.3.0 test/models/search_test.rb