From f530305edc39b730b9a8a607bbc61589c60da4a9 Mon Sep 17 00:00:00 2001 From: bobbysteel Date: Sat, 26 Nov 2016 20:13:00 +0000 Subject: [PATCH] Add class of service chooser for Google Flights Agent (#1778) * Add class of service chooser * Add cabin chooser test * Fix preferredCabin * Per @cantino feedback taking out check --- app/models/agents/google_flights_agent.rb | 6 ++++-- spec/models/agents/google_flights_spec.rb | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/models/agents/google_flights_agent.rb b/app/models/agents/google_flights_agent.rb index f7a82521..ccdc66b4 100644 --- a/app/models/agents/google_flights_agent.rb +++ b/app/models/agents/google_flights_agent.rb @@ -60,6 +60,7 @@ module Agents 'seniorCount'=> 0, 'return_date' => '2016-04-18', 'roundtrip' => true, + 'preferredCabin' => 'COACH', 'solutions'=> 3 } end @@ -69,6 +70,7 @@ module Agents form_configurable :origin, type: :string form_configurable :destination, type: :string form_configurable :date, type: :string + form_configurable :preferredCabin, type: :array, values: %w(COACH PREMIUM_COACH BUSINESS FIRST) form_configurable :childCount form_configurable :infantInSeatCount form_configurable :infantInLapCount @@ -101,9 +103,9 @@ module Agents def post_params if round_trip? - post_params = {:request=>{:passengers=>{:kind=>"qpxexpress#passengerCounts", :adultCount=> interpolated["adultCount"], :childCount=> interpolated["childCount"], :infantInLapCount=>interpolated["infantInLapCount"], :infantInSeatCount=>interpolated['infantInSeatCount'], :seniorCount=>interpolated["seniorCount"]}, :slice=>[ {:origin=> interpolated["origin"].to_s , :destination=> interpolated["destination"].to_s , :date=> interpolated["date"].to_s }, {:origin=> interpolated["destination"].to_s , :destination=> interpolated["origin"].to_s , :date=> interpolated["return_date"].to_s } ], :solutions=> interpolated["solutions"]}} + post_params = {:request=>{:passengers=>{:kind=>"qpxexpress#passengerCounts", :adultCount=> interpolated["adultCount"], :childCount=> interpolated["childCount"], :infantInLapCount=>interpolated["infantInLapCount"], :infantInSeatCount=>interpolated['infantInSeatCount'], :seniorCount=>interpolated["seniorCount"]}, :slice=>[ {:origin=> interpolated["origin"].to_s , :destination=> interpolated["destination"].to_s , :date=> interpolated["date"].to_s , :preferredCabin=> interpolated["preferredCabin"].to_s }, {:origin=> interpolated["destination"].to_s , :destination=> interpolated["origin"].to_s , :date=> interpolated["return_date"].to_s , :preferredCabin=> interpolated["preferredCabin"].to_s} ], :solutions=> interpolated["solutions"]}} else - post_params = {:request=>{:passengers=>{:kind=>"qpxexpress#passengerCounts", :adultCount=> interpolated["adultCount"], :childCount=> interpolated["childCount"], :infantInLapCount=>interpolated["infantInLapCount"], :infantInSeatCount=>interpolated['infantInSeatCount'], :seniorCount=>interpolated["seniorCount"]}, :slice=>[{:kind=>"qpxexpress#sliceInput", :origin=> interpolated["origin"].to_s , :destination=> interpolated["destination"].to_s , :date=> interpolated["date"].to_s }], :solutions=> interpolated["solutions"]}} + post_params = {:request=>{:passengers=>{:kind=>"qpxexpress#passengerCounts", :adultCount=> interpolated["adultCount"], :childCount=> interpolated["childCount"], :infantInLapCount=>interpolated["infantInLapCount"], :infantInSeatCount=>interpolated['infantInSeatCount'], :seniorCount=>interpolated["seniorCount"]}, :slice=>[{:kind=>"qpxexpress#sliceInput", :origin=> interpolated["origin"].to_s , :destination=> interpolated["destination"].to_s , :date=> interpolated["date"].to_s , :preferredCabin=> interpolated["preferredCabin"].to_s }], :solutions=> interpolated["solutions"]}} end end diff --git a/spec/models/agents/google_flights_spec.rb b/spec/models/agents/google_flights_spec.rb index 28f5994d..a0b970b8 100644 --- a/spec/models/agents/google_flights_spec.rb +++ b/spec/models/agents/google_flights_spec.rb @@ -15,6 +15,7 @@ describe Agents::GoogleFlightsAgent do 'origin' => 'BOS', 'destination' => 'SFO', 'date' => '2016-04-11', + 'preferredCabin' => 'COACH', 'childCount' => 0, 'infantInSeatCount' => 0, 'infantInLapCount'=> 0,