Sha256: 42b2b8ff4f6affcaf62aa51c6486ce9ab424ee34832190126950fe232cae5b3a

Contents?: true

Size: 1.82 KB

Versions: 17

Compression:

Stored size: 1.82 KB

Contents

require 'test_helper'

module Rails3JQueryAutocomplete
  class AutocompleteTest < Test::Unit::TestCase
    include Rails3JQueryAutocomplete::Autocomplete

    context '#get_autocomplete_limit' do
      context 'the limit option was specified' do
        should "return the limit option" do
          assert_equal 99, get_autocomplete_limit({:limit => 99})
        end
      end

      context 'the limit option is not specified' do
        should 'return 10' do
          assert_equal 10, get_autocomplete_limit({})
        end
      end
    end

    context '#get_object' do
      should 'return the specified sym as a class name' do
        symbol = Object.new
        class_object = Class.new
        mock(symbol).to_s.mock!.camelize.mock!.constantize { class_object }
        assert_equal class_object, get_object(symbol)
      end
    end

    context '#json_for_autocomplete' do
      should 'parse items to JSON' do
        item = mock(Object)
        mock(item).send(:name).times(2) { 'Object Name' }
        mock(item).id { 1 }
        items    = [item]
        response = self.json_for_autocomplete(items, :name).first
        assert_equal response["id"], "1"
        assert_equal response["value"], "Object Name"
        assert_equal response["label"], "Object Name"
      end

      context 'with extra data' do
        should 'add that extra data to result' do
          item = mock(Object)
          mock(item).send(:name).times(2) { 'Object Name' }
          mock(item).id { 1 }
          mock(item).send("extra") { 'Object Extra ' }

          items    = [item]
          response = self.json_for_autocomplete(items, :name, ["extra"]).first

          assert_equal "1"           , response["id"]
          assert_equal "Object Name" , response["value"]
          assert_equal "Object Name" , response["label"]
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rails3-jquery-autocomplete-1.0.14 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.13 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.12 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.11 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.10 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.9 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.8 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.7 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.6 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.5 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.4 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.3 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.2 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.1 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-1.0.0 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-0.9.1 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb
rails3-jquery-autocomplete-0.9.0 test/lib/rails3-jquery-autocomplete/autocomplete_test.rb