ratis 3.4.3 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -0
  3. data/.ruby-version +1 -0
  4. data/CHANGELOG +40 -39
  5. data/README.md +1 -15
  6. data/lib/ratis/area.rb +1 -1
  7. data/lib/ratis/config.rb +2 -4
  8. data/lib/ratis/fleet_location.rb +2 -7
  9. data/lib/ratis/landmark.rb +1 -4
  10. data/lib/ratis/location.rb +1 -3
  11. data/lib/ratis/location_type_ahead.rb +1 -4
  12. data/lib/ratis/next_bus.rb +0 -2
  13. data/lib/ratis/next_bus2.rb +1 -3
  14. data/lib/ratis/plantrip.rb +1 -3
  15. data/lib/ratis/request.rb +5 -2
  16. data/lib/ratis/schedule_nearby.rb +1 -3
  17. data/lib/ratis/timetable.rb +1 -5
  18. data/lib/ratis/version.rb +1 -1
  19. data/lib/ratis/walkstop.rb +1 -3
  20. data/ratis.gemspec +15 -15
  21. data/spec/ratis/area_spec.rb +1 -10
  22. data/spec/ratis/closest_stop_spec.rb +0 -14
  23. data/spec/ratis/config_spec.rb +21 -30
  24. data/spec/ratis/core_ext_spec.rb +0 -11
  25. data/spec/ratis/fleet_location_spec.rb +8 -25
  26. data/spec/ratis/itinerary_spec.rb +0 -10
  27. data/spec/ratis/landmark_category_spec.rb +1 -12
  28. data/spec/ratis/landmark_spec.rb +12 -25
  29. data/spec/ratis/location_spec.rb +5 -16
  30. data/spec/ratis/location_type_ahead_item_spec.rb +11 -9
  31. data/spec/ratis/location_type_ahead_spec.rb +7 -21
  32. data/spec/ratis/next_bus2_spec.rb +67 -81
  33. data/spec/ratis/next_bus_spec.rb +20 -37
  34. data/spec/ratis/pattern_spec.rb +2 -10
  35. data/spec/ratis/plantrip_spec.rb +19 -18
  36. data/spec/ratis/point_2_point_spec.rb +3 -11
  37. data/spec/ratis/request_spec.rb +1 -20
  38. data/spec/ratis/route_pattern_spec.rb +2 -14
  39. data/spec/ratis/route_spec.rb +1 -10
  40. data/spec/ratis/route_stops_spec.rb +1 -10
  41. data/spec/ratis/routes_spec.rb +1 -9
  42. data/spec/ratis/schedule_nearby_spec.rb +1 -11
  43. data/spec/ratis/timetable_spec.rb +24 -44
  44. data/spec/ratis/walkstop_spec.rb +22 -47
  45. data/spec/spec_helper.rb +4 -3
  46. data/spec/support/vcr_cassettes/Nextbus2_running_LATE.yml +141 -1
  47. data/spec/support/vcr_cassettes/Nextbus_running_LATE.yml +2 -2
  48. data/spec/support/vcr_cassettes/Point2Point.yml +2 -2
  49. data/spec/support/vcr_cassettes/Ratis_Area/_all/only_makes_one_request.yml +19 -9
  50. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/only_makes_one_request.yml +9 -9
  51. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/parses_out_the_stop_fields_correctly.yml +9 -9
  52. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/returns_multiple_locations.yml +9 -9
  53. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/should_return_a_collection_of_Ratis_Stop_s_.yml +9 -9
  54. data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/only_makes_one_request.yml +661 -563
  55. data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/parses_out_the_vehicle_fields_correctly.yml +661 -584
  56. data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/returns_multiple_vehicles.yml +661 -575
  57. data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/should_return_a_collection_of_Ratis_Vehicle_s_.yml +661 -575
  58. data/spec/support/vcr_cassettes/Ratis_Landmark/_where/only_makes_one_request.yml +67 -1444
  59. data/spec/support/vcr_cassettes/Ratis_Landmark/_where/parses_out_the_landmark_fields_correctly.yml +67 -1444
  60. data/spec/support/vcr_cassettes/Ratis_Landmark/_where/returns_multiple_landmarks.yml +67 -1444
  61. data/spec/support/vcr_cassettes/Ratis_Landmark/_where/should_return_a_collection_of_Ratis_Landmark_s_.yml +67 -1444
  62. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/only_makes_one_request.yml +9 -9
  63. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_a_collection_of_Ratis_LandmarkCategory_s_.yml +9 -9
  64. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_all_landmark_categories.yml +9 -9
  65. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_web_categories/does_something.yml +9 -9
  66. data/spec/support/vcr_cassettes/Ratis_Location/_where/only_makes_one_request.yml +11 -11
  67. data/spec/support/vcr_cassettes/Ratis_Location/_where/parses_out_fields_correctly.yml +11 -11
  68. data/spec/support/vcr_cassettes/Ratis_Location/_where/should_return_a_collection_of_Ratis_Location_s_.yml +11 -11
  69. data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/only_makes_one_request.yml +10 -10
  70. data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/parses_out_fields_correctly.yml +10 -10
  71. data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/should_return_a_collection_of_Ratis_LocationTypeAheadItem_s_.yml +10 -10
  72. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/only_makes_one_request.yml +29 -28
  73. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/returns_the_next_4_bus_times.yml +29 -28
  74. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_map_all_the_services_to_service_openstruct_objects.yml +29 -28
  75. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +62 -80
  76. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/only_makes_one_request.yml +18 -17
  77. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/returns_the_next_bus_times.yml +18 -17
  78. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +52 -52
  79. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_set_all_the_service_values_to_instance_vars.yml +18 -17
  80. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/runs/should_set_the_run_values_to_instance_vars.yml +125 -0
  81. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/single_next_bus/only_makes_one_request.yml +125 -0
  82. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/single_next_bus/requests_the_correct_SOAP_action.yml +125 -0
  83. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/stops/should_set_the_stop_values_to_instance_vars.yml +125 -0
  84. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/only_makes_one_request.yml +12 -12
  85. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_parse_the_route_info_fields.yml +12 -12
  86. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_a_collection_Pattern_RouteInfo_s_.yml +12 -12
  87. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_no_data_error_when_date_is_in_the_past.yml +5 -5
  88. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/creates_Ratis_Itineraries_for_each_trip_itinerary.yml +30 -30
  89. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/only_makes_one_request.yml +30 -30
  90. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/returns_a_Plantrip_object.yml +30 -30
  91. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/should_set_all_the_Plantrip_values_to_instance_vars.yml +30 -30
  92. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_groups.yml +68 -74
  93. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_trips_within_each_group.yml +68 -74
  94. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/only_makes_one_request.yml +68 -74
  95. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_off_stop_fields.yml +68 -74
  96. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_on_stop_fields.yml +68 -74
  97. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_service.yml +68 -74
  98. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_trip.yml +68 -74
  99. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_route.yml +15 -17
  100. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_routes.yml +19 -21
  101. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_raise_error_if_the_trip_is_NOT_possible_for_a_route_being_attempted_to_filter_on.yml +5 -5
  102. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/only_makes_one_request.yml +29 -29
  103. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/parses_out_service_fields.yml +29 -29
  104. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/returns_a_routes_only_response_for_each_matched_service.yml +29 -29
  105. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/returns_all_matching_services_that_fit_the_origin/destination_for_a_given_time_frame.yml +29 -29
  106. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/should_NOT_filter_by_passed_in_routes.yml +29 -29
  107. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/only_makes_one_request.yml +133 -70
  108. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_parse_the_stop_fields.yml +133 -70
  109. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Point_s_.yml +132 -69
  110. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Stop_s_.yml +133 -70
  111. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/only_makes_one_request.yml +50 -50
  112. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/parses_out_the_stop_fields_correctly.yml +50 -50
  113. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/should_return_a_collection_of_Ratis_RouteStops_Stop_s_.yml +50 -50
  114. data/spec/support/vcr_cassettes/Ratis_Routes/_all/only_makes_one_request.yml +346 -370
  115. data/spec/support/vcr_cassettes/Ratis_Routes/_all/returns_all_routes.yml +346 -370
  116. data/spec/support/vcr_cassettes/Ratis_Routes/_all/should_set_directions_and_short_name_to_variables.yml +346 -370
  117. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/only_makes_one_request.yml +42 -41
  118. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_non_nil_ScheduleNearby.yml +42 -41
  119. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_single_service_at_the_stop.yml +42 -41
  120. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_all_the_stops.yml +42 -41
  121. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/should_return_no_data_error_when_date_is_in_the_past.yml +5 -5
  122. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/ATIS_call/should_not_throw_a_500.yml +719 -0
  123. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/only_makes_one_request.yml +315 -315
  124. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_parse_the_timetable/stop/trip_fields.yml +315 -315
  125. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_return_a_collection_Timetable_Stop_s_.yml +315 -315
  126. data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/only_makes_one_request.yml +9 -9
  127. data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/should_set_all_the_walkstop_values_to_instance_vars.yml +9 -9
  128. metadata +9 -9
  129. data/.rvmrc +0 -1
  130. data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/should_return_a_collection_of_Ratis_Location_s_.yml +0 -54
  131. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/runs/should_set_the_run_values_to_instance_vars.yml +0 -180
  132. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/single_next_bus/only_makes_one_request.yml +0 -180
  133. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/single_next_bus/requests_the_correct_SOAP_action.yml +0 -180
  134. data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/stops/should_set_the_stop_values_to_instance_vars.yml +0 -180
@@ -1,15 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::ClosestStop do
4
-
5
- before do
6
- Ratis.reset
7
- Ratis.configure do |config|
8
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
9
- config.namespace = 'PX_WEB'
10
- end
11
- end
12
-
13
4
  describe '#where', vcr: {} do
14
5
  before do
15
6
  @today = Time.now.strftime("%m/%d/%Y")
@@ -32,7 +23,6 @@ describe Ratis::ClosestStop do
32
23
  options["Locationlong"].should eq(@conditions[:longitude])
33
24
  options["Locationtext"].should eq(@conditions[:location_text])
34
25
  options["Numstops"].should eq(@conditions[:num_stops])
35
-
36
26
  end.and_return(double('response', :success? => false))
37
27
 
38
28
  Ratis::ClosestStop.where(@conditions.dup)
@@ -92,8 +82,4 @@ describe Ratis::ClosestStop do
92
82
  end.to raise_error(ArgumentError, 'You must provide a longitude')
93
83
  end
94
84
  end
95
-
96
-
97
-
98
85
  end
99
-
@@ -1,44 +1,35 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::Config do
4
+ it 'is valid' do
5
+ expect(Ratis.config).to be_valid
6
+ end
4
7
 
5
- context 'with an endpoint and namespace set' do
6
-
7
- describe '#valid?' do
8
-
9
- it 'is valid' do
10
- Ratis.config.valid?.should be_true
11
- end
12
-
8
+ context 'nil endpoint' do
9
+ it 'is not valid' do
10
+ expect(Ratis.config).to receive(:endpoint).at_least(:once).and_return(nil)
11
+ expect(Ratis.config).to_not be_valid
13
12
  end
14
-
15
13
  end
16
14
 
17
- context 'without an endpoint or namespace set' do
18
-
19
- before do
20
- # Override Ratis.configure made in spec_helper.rb
21
- # Ratis.config = Ratis::Config.new
15
+ context 'empty endpoint' do
16
+ it 'is not valid' do
17
+ expect(Ratis.config).to receive(:endpoint).at_least(:once).and_return('')
18
+ expect(Ratis.config).to_not be_valid
22
19
  end
20
+ end
23
21
 
24
- describe '#valid?' do
25
-
26
- it 'is not valid' do
27
- pending('Need way in specs to set new config after one is set.')
28
- Ratis.config.valid?.should be_false
29
- end
30
-
22
+ context 'nil namespace' do
23
+ it 'is not valid' do
24
+ expect(Ratis.config).to receive(:namespace).at_least(:once).and_return(nil)
25
+ expect(Ratis.config).to_not be_valid
31
26
  end
27
+ end
32
28
 
33
- after do
34
- # Reset Ratis.configure made in spec_helper.rb
35
- Ratis.configure do |config|
36
- config.endpoint = 'http://example.com/soap.cgi'
37
- config.namespace = 'TEST_NS'
38
- end
29
+ context 'empty namespace' do
30
+ it 'is not valid' do
31
+ expect(Ratis.config).to receive(:namespace).at_least(:once).and_return('')
32
+ expect(Ratis.config).to_not be_valid
39
33
  end
40
-
41
34
  end
42
-
43
35
  end
44
-
@@ -1,11 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Hash do
4
-
5
4
  describe 'which is one level deep' do
6
-
7
5
  describe '#to_array' do
8
-
9
6
  it 'returns [] if key is not present in Hash' do
10
7
  {}.to_array(:a).should eql []
11
8
  end
@@ -21,15 +18,11 @@ describe Hash do
21
18
  it 'returns Array if value is an Array' do
22
19
  { :a => [1,2,3] }.to_array(:a).should eql [1,2,3]
23
20
  end
24
-
25
21
  end
26
-
27
22
  end
28
23
 
29
24
  describe 'which is two levels deep' do
30
-
31
25
  describe '#to_array' do
32
-
33
26
  it 'returns [] if key is not present in Hash' do
34
27
  { :a => {} }.to_array(:a, :b).should eql []
35
28
  end
@@ -45,10 +38,6 @@ describe Hash do
45
38
  it 'returns Array if value is an Array' do
46
39
  { :a => { :b => [1,2,3] } }.to_array(:a, :b).should eql [1,2,3]
47
40
  end
48
-
49
41
  end
50
-
51
42
  end
52
-
53
43
  end
54
-
@@ -1,56 +1,41 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::FleetLocation do
4
-
5
- before do
6
- Ratis.reset
7
- Ratis.configure do |config|
8
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-271/soap.cgi'
9
- config.namespace = 'PX_WEB'
10
- end
11
- end
12
-
13
4
  describe "#current" do
14
- before do
15
- @conditions = {:app_id => 'WEB'}
16
- end
17
-
18
5
  it 'only makes one request', vcr: {} do
19
6
  # false just to stop further processing of response
20
7
  Ratis::Request.should_receive(:get).once.and_call_original
21
- Ratis::FleetLocation.current(@conditions.dup)
8
+ Ratis::FleetLocation.current
22
9
  end
23
10
 
24
11
  it 'requests the correct SOAP action' do
25
12
  Ratis::Request.should_receive(:get) do |action, options|
26
13
  action.should eq('Fleetlocation')
27
- options["Appid"].should eq(@conditions[:app_id])
28
-
29
14
  end.and_return(double('response', :success? => false))
30
15
 
31
- Ratis::FleetLocation.current(@conditions.dup)
16
+ Ratis::FleetLocation.current
32
17
  end
33
18
 
34
19
  it "should return a collection of Ratis::Vehicle(s)", vcr: {} do
35
- stops = Ratis::FleetLocation.current(@conditions.dup)
20
+ stops = Ratis::FleetLocation.current
36
21
  stops.each do |obj|
37
22
  expect(obj).to be_a(Ratis::Vehicle)
38
23
  end
39
24
  end
40
25
 
41
26
  it 'returns multiple vehicles', vcr: {} do
42
- stops = Ratis::FleetLocation.current(@conditions.dup)
43
- stops.should have(403).items
27
+ stops = Ratis::FleetLocation.current
28
+ stops.should have(469).items
44
29
  end
45
30
 
46
31
  it 'parses out the vehicle fields correctly', vcr: {} do
47
- vehicles = Ratis::FleetLocation.current(@conditions.dup)
32
+ vehicles = Ratis::FleetLocation.current
48
33
  vehicle = vehicles.first
49
34
 
50
35
  expect(vehicle.route).to eq('1')
51
36
  expect(vehicle.direction).to eq('E')
52
- expect(vehicle.updatetime).to eq('02:08 PM')
53
- expect(vehicle.adherance).to eq('0')
37
+ expect(vehicle.updatetime).to eq('05:38 PM')
38
+ expect(vehicle.adherance).to eq('-1')
54
39
  expect(vehicle.adhchange).to eq('S')
55
40
  expect(vehicle.vehicle_id).to be_nil
56
41
  expect(vehicle.offroute).to eq('N')
@@ -58,7 +43,5 @@ describe Ratis::FleetLocation do
58
43
  expect(vehicle.reliable).to eq('Y')
59
44
  expect(vehicle.inservice).to eq('Y')
60
45
  end
61
-
62
46
  end
63
-
64
47
  end
@@ -1,19 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::Itinerary do
4
- before do
5
- Ratis.reset
6
- Ratis.configure do |config|
7
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
8
- config.namespace = 'PX_WEB'
9
- end
10
- end
11
-
12
4
  describe '#initialize' do
13
5
  it "does something" do
14
6
  pending
15
7
  end
16
8
  end
17
-
18
9
  end
19
-
@@ -1,16 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::LandmarkCategory do
4
-
5
- before do
6
- Ratis.reset
7
- Ratis.configure do |config|
8
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
9
- config.namespace = 'PX_WEB'
10
- end
11
- end
12
-
13
- describe '.all', vcr: {} do
4
+ describe '#all', vcr: {} do
14
5
  it 'only makes one request' do
15
6
  # false just to stop further processing of response
16
7
  Ratis::Request.should_receive(:get).once.and_call_original
@@ -49,6 +40,4 @@ describe Ratis::LandmarkCategory do
49
40
  end
50
41
  end
51
42
  end
52
-
53
43
  end
54
-
@@ -1,52 +1,39 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::Landmark do
4
-
5
- before do
6
- Ratis.reset
7
- Ratis.configure do |config|
8
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
9
- config.namespace = 'PX_WEB'
10
- end
11
- end
12
-
13
4
  describe "#where" do
14
- before do
15
- @conditions = {:type => '*',
16
- :zipcode => '85224'}
17
- end
5
+ let(:conditions) { { :type => '*', :zipcode => '85224' } }
18
6
 
19
7
  it 'only makes one request', vcr: {} do
20
8
  # false just to stop further processing of response
21
9
  Ratis::Request.should_receive(:get).once.and_call_original
22
- Ratis::Landmark.where(@conditions.dup)
10
+ Ratis::Landmark.where(conditions.dup)
23
11
  end
24
12
 
25
13
  it 'requests the correct SOAP action' do
26
14
  Ratis::Request.should_receive(:get) do |action, options|
27
15
  action.should eq('Getlandmarks')
28
- options["Type"].should eq(@conditions[:type])
29
- options["Zipcode"].should eq(@conditions[:zipcode])
30
-
16
+ options["Type"].should eq(conditions[:type])
17
+ options["Zipcode"].should eq(conditions[:zipcode])
31
18
  end.and_return(double('response', :success? => false))
32
19
 
33
- Ratis::Landmark.where(@conditions.dup)
20
+ Ratis::Landmark.where(conditions.dup)
34
21
  end
35
22
 
36
23
  it "should return a collection of Ratis::Landmark(s)", vcr: {} do
37
- stops = Ratis::Landmark.where(@conditions.dup)
24
+ stops = Ratis::Landmark.where(conditions.dup)
38
25
  stops.each do |obj|
39
26
  expect(obj).to be_a(Ratis::Landmark)
40
27
  end
41
28
  end
42
29
 
43
30
  it 'returns multiple landmarks', vcr: {} do
44
- stops = Ratis::Landmark.where(@conditions.dup)
45
- stops.should have(1514).items
31
+ stops = Ratis::Landmark.where(conditions.dup)
32
+ stops.should have(1034).items
46
33
  end
47
34
 
48
35
  it 'parses out the landmark fields correctly', vcr: {} do
49
- landmarks = Ratis::Landmark.where(@conditions.dup)
36
+ landmarks = Ratis::Landmark.where(conditions.dup)
50
37
  landmark = landmarks.first
51
38
 
52
39
  expect(landmark.type).to eq('LRT')
@@ -56,11 +43,11 @@ describe Ratis::Landmark do
56
43
  end
57
44
 
58
45
  it "should raise error for missing arg type" do
59
- conditions = @conditions.dup
60
- conditions.delete(:type)
46
+ conds = conditions.dup
47
+ conds.delete(:type)
61
48
 
62
49
  expect do
63
- Ratis::Landmark.where(conditions)
50
+ Ratis::Landmark.where(conds)
64
51
  end.to raise_error(ArgumentError, 'You must provide a type')
65
52
  end
66
53
  end
@@ -1,24 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::Location do
4
- before do
5
- Ratis.reset
6
- Ratis.configure do |config|
7
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
8
- config.namespace = 'PX_WEB'
9
- end
10
- end
11
-
12
4
  describe '#where', vcr: {} do
13
- before do
14
- @conditions = {:location => '1315 W. Straford Dr.',
15
- :media => 'W' }
16
- end
5
+ let(:conditions) { { :location => '1315 W. Straford Dr.', :media => 'W' } }
17
6
 
18
7
  it 'only makes one request' do
19
8
  # false just to stop further processing of response
20
9
  Ratis::Request.should_receive(:get).once.and_call_original
21
- Ratis::Location.where(@conditions.dup)
10
+ Ratis::Location.where(conditions.dup)
22
11
  end
23
12
 
24
13
  it 'requests the correct SOAP action with correct args' do
@@ -30,18 +19,18 @@ describe Ratis::Location do
30
19
 
31
20
  end.and_return(double('response', :success? => false))
32
21
 
33
- Ratis::Location.where(@conditions.dup)
22
+ Ratis::Location.where(conditions.dup)
34
23
  end
35
24
 
36
25
  it 'should return a collection of Ratis::Location(s)' do
37
- locations = Ratis::Location.where(@conditions.dup)
26
+ locations = Ratis::Location.where(conditions.dup)
38
27
  locations.each do |obj|
39
28
  expect(obj).to be_a(Ratis::Location)
40
29
  end
41
30
  end
42
31
 
43
32
  it 'parses out fields correctly' do
44
- locations = Ratis::Location.where(@conditions.dup)
33
+ locations = Ratis::Location.where(conditions.dup)
45
34
  first_location = locations.first
46
35
 
47
36
  expect(first_location.name).to eql 'W STRAFORD DR'
@@ -1,21 +1,23 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::LocationTypeAheadItem do
4
- let(:item){ Ratis::LocationTypeAheadItem.new(name: '1315 W STRAFORD DR',
5
- area: 'Chandler',
6
- areacode: 'CH',
7
- postcode: '85224',
8
- type: 'N') }
4
+ let(:item) {
5
+ Ratis::LocationTypeAheadItem.new({
6
+ name: '1315 W STRAFORD DR',
7
+ area: 'Chandler',
8
+ areacode: 'CH',
9
+ postcode: '85224',
10
+ type: 'N'
11
+ })
12
+ }
9
13
 
10
14
  describe '#initialize' do
11
- it "should correct assign instance variables" do
15
+ it "should correctly assign instance variables" do
12
16
  expect(item.name).to eq('1315 W STRAFORD DR')
13
17
  expect(item.area).to eq('Chandler')
14
18
  expect(item.areacode).to eq('CH')
15
19
  expect(item.postcode).to eq('85224')
16
20
  expect(item.type).to eq('N')
17
21
  end
18
-
19
22
  end
20
-
21
- end
23
+ end
@@ -1,54 +1,40 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Ratis::LocationTypeAhead do
4
- before do
5
- Ratis.reset
6
- Ratis.configure do |config|
7
- config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
8
- config.namespace = 'PX_WEB'
9
- end
10
- end
11
-
12
4
  describe '#where', vcr: {} do
13
- before do
14
- @conditions = {:search => '1315 w straford dr'}
15
- end
5
+ let(:conditions) { { :search => '1315 w straford dr' } }
16
6
 
17
7
  it 'only makes one request' do
18
8
  # false just to stop further processing of response
19
9
  Ratis::Request.should_receive(:get).once.and_call_original
20
- Ratis::LocationTypeAhead.where(@conditions.dup)
10
+ Ratis::LocationTypeAhead.where(conditions.dup)
21
11
  end
22
12
 
23
13
  it 'requests the correct SOAP action with correct args' do
24
14
  Ratis::Request.should_receive(:get) do |action, options|
25
15
  action.should eq('Locationtypeahead')
26
16
  options["Search"].should eq('1315 w straford dr')
27
- options["Appid"].should eq('WEB') # default
28
-
29
17
  end.and_return(double('response', :success? => false))
30
18
 
31
- Ratis::LocationTypeAhead.where(@conditions.dup)
19
+ Ratis::LocationTypeAhead.where(conditions.dup)
32
20
  end
33
21
 
34
22
  it 'should return a collection of Ratis::LocationTypeAheadItem(s)' do
35
- locations = Ratis::LocationTypeAhead.where(@conditions.dup)
23
+ locations = Ratis::LocationTypeAhead.where(conditions.dup)
36
24
  locations.each do |obj|
37
25
  expect(obj).to be_a(Ratis::LocationTypeAheadItem)
38
26
  end
39
27
  end
40
28
 
41
29
  it 'parses out fields correctly' do
42
- locations = Ratis::LocationTypeAhead.where(@conditions.dup)
30
+ locations = Ratis::LocationTypeAhead.where(conditions.dup)
43
31
  location = locations.first
44
32
 
45
33
  expect(location.name).to eql '1315 W STRAFORD DR'
46
34
  expect(location.area).to eql 'Chandler'
47
35
  expect(location.areacode).to eql 'CH'
48
- expect(location.postcode).to eql '85224'
36
+ expect(location.postcode).to be_nil # Applies only to landmarks
49
37
  expect(location.type).to eql 'N'
50
38
  end
51
-
52
39
  end
53
-
54
- end
40
+ end