Sha256: c3727b23d0692f15ee710a8061201121163b5eb418731c908038b7dcd54a67c6

Contents?: true

Size: 958 Bytes

Versions: 5

Compression:

Stored size: 958 Bytes

Contents

require 'spec_helper'

describe 'expect path' do
  describe 'errors' do
    before :each do
      mock_get('array_with_index')
      get '/array_with_index'
    end

    it 'should raise PathError when incorrect path containing .. is used' do
      expect do
        expect_json('cars..make', 'Tesla')
      end.to raise_error(Airborne::PathError, "Invalid Path, contains '..'")
    end

    it 'should raise PathError when trying to call property on an array' do
      expect do
        expect_json('cars.make', 'Tesla')
      end.to raise_error(Airborne::PathError, "Expected Array\nto be an object with property make")
    end
  end

  it 'should work with numberic properties' do
    mock_get('numeric_property')
    get '/numeric_property'
    expect_json('cars.0.make', 'Tesla')
  end

  it 'should work with numberic properties' do
    mock_get('numeric_property')
    get '/numeric_property'
    expect_json_keys('cars.0', [:make, :model])
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
airborne-0.1.20 spec/airborne/path_spec.rb
airborne-0.1.19 spec/airborne/path_spec.rb
airborne-0.1.18 spec/airborne/path_spec.rb
airborne-0.1.17 spec/airborne/path_spec.rb
airborne-0.1.16 spec/airborne/path_spec.rb